Closed Zocker1999NET closed 1 year ago
well, it is needed for displaying notifications...
Yes, I understand that. But then, notifications have nothing to do with sync. I think it is reasonable in some cases to use a calendar app, where events are synced to other devices, but where you don't want your phone to display calendar reminders (e.g. having two devices/phones, where only one should ring; sharing events with others who want reminders on such events). Realizing that seems currently only possible by enabling sync with notifications allowed and then disabling them afterwards in the system settings, which is not user-friendly for non-tech-enthusiasts.
not really, people dont want to see their events and have no reminders. They would report it as a bug.
Probably most people want notifications, but not all. And it seems not so impossible to me to design the app in a way that addresses both concerns:
First time, the user creates an event or enables sync, the app makes a pop up with "To use reminders, the app needs to be allowed to notify you. If you want reminders, accept notifications in the next dialog.". Then the Android permission pop up appears. And then, depending on the answer of the user, the app might say "You disallowed notifications, so this app cannot remind you. If you later want reminders, please enable the notification permission in the system settings.". To further support users to know about that, the app might show a warn icon in the event editor, and when users click on that, they get the same explanation.
Beginning with Android 13, notifications are a runtime, hence a dangerous, hence a restricted permission. Google's Play Policy states that:
Respect users’ decisions if they decline a request for a Restricted Permission, and users may not be manipulated or forced into consenting to any non-critical permission. You must make a reasonable effort to accommodate users who do not grant access to sensitive permissions […].
I would not consider the notification permission a critical one for the whole app as it seems to only interfere with the reminders feature. This app still can be a "work calendar for business, a day planner, an appointment scheduler, or organization and scheduling of single and recurring events like birthdays, anniversary […]" without having this permission. So I interpret this as a violation of Google's Play Policy. I will not report this because, in comparison to other non-open-source apps, this app still has "[no] complicated features […] or ads", which is very good. But this is, in some cases, a "unnecessary permission[]" (quotes from this project's README.md at time of writing).
I wanted to enable "CALDAV sync", while enabling it, the app asked for the two permissions "Calendar" & "Notifications". I allowed "Calendar" but disallowed notifications access because I want to test the app first before switching my "main" calendar app & having 2 apps reminding me about events is something I do not need. However, when disallowing access to notifications, the app does nothing. Tapping "CALDAV sync" again does nothing (probably because Android blocks repeated questioning) until manually enabling the "Notifications" permission in the system settings.
It may be, that the app utilizes a "syncing now" notification to avoid getting killed by Android when syncing in the background. But I think that should be explained to the user because most might not know about this potential requirement. If the app does not require notification access for syncing, the app should allow the user to use syncing without notifications access.
PS: I really like this app, thanks for your work. I'm testing it now if I want to switch to it, especially because it supports drag-n-drop in the week view.