Repository navigation
Constanza 1.0.0
One permission fewer, and the first version number that says "this is the real app".
Install
Open this page on the phone, tap constanza-1.0.0.apk, install over the previous version. It replaces 0.1.16 in place; your habits and history are kept.
What's new
Nothing changes on screen. The app no longer declares ACCESS_NETWORK_STATE.
Constanza never declared it on purpose. It came in with WorkManager, the Android library that runs the reminder work in the background: the library declares it so apps can say "only run this job when there is a network". Constanza never asks for that — nothing in it depends on the network, and it has no internet permission at all — so the entry only sat in the permission list with nothing to justify it. An F-Droid reviewer spotted it; it is now removed explicitly in the manifest.
The two other permissions WorkManager adds, WAKE_LOCK and FOREGROUND_SERVICE, stay. They grant access to none of your data, and removing them is not proven safe. The privacy policy now lists them.
The final permission list is SCHEDULE_EXACT_ALARM, POST_NOTIFICATIONS, RECEIVE_BOOT_COMPLETED, WAKE_LOCK and FOREGROUND_SERVICE, read from this APK with aapt2 dump permissions.
What is NOT verified
Reminders were checked on emulators (Android 12 and Android 17), not on a physical phone.
Verification
Emulator matrix (:app:emulatorMatrixGroupDebugAndroidTest): Android 12 (API 31) and Android 17 (API 37), 206 instrumented tests each, 0 failed (3 and 6 skipped), including the end-to-end core flow: permission dialog, add a habit, reminder notification arrives, answer it, remove the habit. Unit tests and detekt green.