CasperVerswijvelt / Better-Internet-Tiles

Bring back Wi-Fi and mobile data tiles on Android 12 or higher + a better unified internet tile
GNU General Public License v3.0
163 stars 13 forks source link

Setting to not send usage statistics? #34

Open finete opened 7 months ago

finete commented 7 months ago

According to fdroid this app sends usage statistics to a server. Any way in the app to opt out of sending those?

As this is an app with fairly high privileges.

CasperVerswijvelt commented 7 months ago

There is no way to disable the telemetry within the app.

The code responsible for it is located here. You could remove the content of that function and build the app yourself if you wish to use it without telemetry. That's not something I'm going to do, however, as I'd like to keep track a bit of what features are used most within the app.

The info that is sent out is fairly limited (some basic device information such as Android version, model and tile usage) and is only sent out a maximum of 1 time per 12 hours.

D3SOX commented 7 months ago

Forked the app and released latest version with some fixes and no telemetry under https://github.com/D3SOX/Better-Network-Tiles-Libre

D3SOX commented 7 months ago

I just noticed that you're actually still active on GitHub. My goal was not be a hostile fork. Would you accept a PR for a toggle to disable all telemetry? I would make it opt-in, otherwise I think I'm going to continue maintaining my libre fork. I also did the German translations for v3, updated screenshots, some metadata and fixed the notifications permission on Android 13+ in my repo. Feel free to merge :)

CasperVerswijvelt commented 7 months ago

I do understand the desire for a fully 'libre' version of the app, and I would accept a pull request that makes this behaviour configurable. I do however prefer to keep it as opt-out instead, otherwise we might as well completely remove it, as I suspect no one will want to deliberately enable it.

It would be great if we could focus future developments in a single repository instead of creating diverging and possibly incompatible versions of the app. If you do choose to keep maintaining your fork, you could have a different default value for the telemetry/Crashlytics settings.

I'll certainly look into merging some of your changes into this repository, thanks for the contributions!

CasperVerswijvelt commented 7 months ago

As to why I'd like to keep telemetry/crashlytics enabled by default: it allows me to keep track on which tiles are being used most and, where I should focus on for future developments, as well as making me aware of crashes in the field. In addition, it's just fun to know how many people are actually using this app, across the multiple distribution platforms it is available on.

I do want to note that I use a fully open source simple analytics tool that I wrote myself, report-anything, which only draws some basic graphs to interpret the data:

Screenshot ![image](https://github.com/CasperVerswijvelt/Better-Internet-Tiles/assets/25928551/9c66c484-a9b0-4fed-800b-72c7d9208367)
CasperVerswijvelt commented 7 months ago

@D3SOX DId you actulaly experience any issues when the POST_NOTIFICATIONS permission was not present/requested?

The Android documentation states the following:

Note: Apps don't need to request the POST_NOTIFICATIONS permission in order to launch a foreground service. However, apps must include a notification when they start a foreground service, just as they do on previous versions of Android.

https://developer.android.com/develop/ui/views/notifications/notification-permission

D3SOX commented 7 months ago

I added a permission request for it because otherwise the notifications permission was always off without manually enabling it on Android 13+

CasperVerswijvelt commented 7 months ago

I added a permission request for it because otherwise the notifications permission was always off without manually enabling it on Android 13+

I don't think we actually need the notification permission at all. To start a foreground service you need to pass a notification, yes, but since Android 13 those are visualized differently using the new Task Manager.

I never had any issues without the notification permission and the foreground service still worked fine