Skip to content

Warn on the Memos list when a reminder permission is missing - #129

Merged
mapgie merged 1 commit into
mainfrom
claude/memos-permission-indicator-njgi06
Sep 10, 2026
Merged

Warn on the Memos list when a reminder permission is missing#129
mapgie merged 1 commit into
mainfrom
claude/memos-permission-indicator-njgi06

Conversation

@mapgie

@mapgie mapgie commented Sep 10, 2026

Copy link
Copy Markdown
Owner

What

The Memos tab now shows a tappable amber banner above the filter row whenever a system permission the chosen notification style depends on is missing. Tapping it opens Settings > Reminders & alerts directly on that sub-screen.

Which permissions count is style-aware:

  • Every style: Notifications, Exact alarms.
  • Alarm style only: Full-screen alarms, Do Not Disturb access.

Without the full-screen grant (Android 14+) the Alarm style cannot launch its ring screen on a locked phone, so it falls back to a heads-up whose sound lands on the notification stream and usually arrives silently (LESSONS #52). The banner names that effect: "Full-screen alarms are off, so memos may ring silently. Tap to allow." Notification and Silent users are never nagged about the alarm-only grants.

How

  • notification/ReminderPermissions.kt: pure ReminderPermissionGrants model with missingFor(deliveryMode) and warningFor(deliveryMode, plural). No Android imports, pinned by ReminderPermissionsTest.
  • PermissionHelper.reminderGrants(context): one snapshot of the four grants.
  • ui/components/core/PermissionBanner.kt: the strip, in the shared ATTENTION tone, Role.Button, polite live region, 44dp minimum height.
  • RemindersListScreen: re-reads grants on every resume and shows the banner; ReminderUiState now carries deliveryMode.
  • SettingsScreen accepts a pendingSubScreen so the nav graph can open it on Reminders & alerts, mirroring the existing pendingAddIntent pattern.
  • Copy tweak: the Full-screen alarms row in Settings now says alarms can arrive silently without it.

Changelog

changelog/unreleased/memos-permission-banner.json, bump minor.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VRyMjuZLuk1Eq1KnSukjDL


Generated by Claude Code

The Memos tab now shows a tappable banner above the filter row whenever a
system grant the chosen notification style depends on is missing. Which
grants count is style-aware: notifications and exact alarms matter to every
style; full-screen alarms and Do Not Disturb access only to the Alarm style,
since without the full-screen grant (Android 14+) the Alarm style falls back
to a heads-up whose sound lands on the notification stream and usually
arrives silently. Tapping the banner opens Settings > Reminders & alerts,
which now supports being opened directly on a sub-screen.

The style-to-permission rule lives in a pure ReminderPermissionGrants model
in the notification package, pinned by ReminderPermissionsTest. The
Full-screen alarms row in Settings also now says alarms can arrive silently
without it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VRyMjuZLuk1Eq1KnSukjDL
@mapgie
mapgie marked this pull request as ready for review September 10, 2026 20:51
@mapgie
mapgie merged commit ae753fb into main Sep 10, 2026
6 checks passed
@mapgie
mapgie deleted the claude/memos-permission-indicator-njgi06 branch September 10, 2026 20:51
mapgie pushed a commit that referenced this pull request Sep 11, 2026
… on the page ground

The Memos list gained a permission banner on main (#129) in the same rows
the tag-alarm capture plumbing touched; both are kept. The sub-screen
header is a Scaffold top bar the scroll column slides under, so it now
carries the page background instead of letting rows show through it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016rWgRBgBaGjrH7iWGmUeSv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants