Wire reminder permission status to Settings UI#16
Merged
Conversation
Settings claimed reminders use a dedicated alarm that sounds through Do Not Disturb and that reminders were "fully enabled" without checking DND access at all. Add a Do Not Disturb access permission row alongside Notifications and Exact alarms (mirroring GoFlo's NotificationsHubScreen), gate the "fully enabled" message on all three, and request bypassDnd on the task reminder channel so the claim is actually true once granted. https://claude.ai/code/session_01TCUZ7M68vhLpBA2Z8u78Zy
NotificationChannel settings (importance, bypassDnd, vibration) are immutable after creation, even when createNotificationChannel() is called again with the same id. The previous commit added setBypassDnd(true) to the task reminder channel, but existing installs already have that channel from before with the old settings, so the bypass would silently never apply. Bump the channel id to dash_task_reminders_v2 and delete the legacy channel on app start / boot so the new settings take effect. https://claude.ai/code/session_01TCUZ7M68vhLpBA2Z8u78Zy
mapgie
marked this pull request as ready for review
June 14, 2026 10:28
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
NotificationsHubScreenPermissionRowpattern, per the attached screenshot).setBypassDnd(true)to the task reminder notification channel so the DND-bypass claim is actually backed by the channel config.PermissionHelper.isDndAccessGranted/dndAccessSettingsIntent.NotificationChannelsettings (importance, bypassDnd, vibration) are frozen after first creation, even acrosscreateNotificationChannel()calls with the same id. Bumped the channel id todash_task_reminders_v2and delete the legacy channel on app start / boot so the new settings actually take effect for existing installs. Documented as LESSONS.md Release v0.4.0 #17.<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />the app never appears as a grantable entry there, soisNotificationPolicyAccessGranted()could never become true and the row could never actually be granted. Added the permission and documented it inCLAUDE.md's permissions list.Test plan
dash_task_reminderschannel is removed and a newdash_task_reminders_v2channel (bypassing DND) is createdpython3 a11y_check.pypasses (already verified)https://claude.ai/code/session_01TCUZ7M68vhLpBA2Z8u78Zy