Skip to content

Show the notification permission prompt on every tab - #706

Merged
kasnder merged 1 commit into
masterfrom
fix/notification-warning-all-tabs
Aug 5, 2026
Merged

Show the notification permission prompt on every tab#706
kasnder merged 1 commit into
masterfrom
fix/notification-warning-all-tabs

Conversation

@kasnder

@kasnder kasnder commented Aug 5, 2026

Copy link
Copy Markdown
Member

The problem

tvNotifications — the tappable row prompting the user to grant notification permissions — lives inside llApps in main.xml. That container is hidden whenever the Timeline or VPN tab is selected, and ActivityMain deliberately lands users on Timeline:

Land new users on Timeline; keep returning users there too — it is the "what's happening now" dashboard. Apps is one tap away.

So a user who has not granted notification permissions never sees the prompt unless they happen to switch to the Apps tab. Confirmed on a Pixel 8 (Android 17): with POST_NOTIFICATIONS revoked, the row is absent on Timeline and present on Apps.

This is pre-existing, unrelated to the local network work in #704; it was spotted while testing that branch on a device.

The change

Move the row out of llApps, directly below the app bar, so it renders on every tab. onCreate and onResume already drive its visibility and are untouched.

The XML default changes from visible to gone to match: onCreate hides it unconditionally regardless, so nothing depended on the old default, and a row in this position should not flash before that runs.

Testing

Built and installed on a Pixel 8 (Android 17, API 37). With POST_NOTIFICATIONS revoked, the prompt now appears on the Timeline tab on launch; granting it hides the row as before.

Note on merge order

#704 moves tvLocalNetwork to the same place. Whichever lands second will need a trivial conflict resolution in main.xml — both rows belong outside llApps, stacked below the app bar.

The prompt row sits inside llApps, which is hidden whenever the Timeline
or VPN tab is selected — and ActivityMain deliberately lands users on
Timeline, both on first run and on return. A user who has not granted
notification permissions therefore never sees the prompt unless they
happen to open the Apps tab.

Move it out of llApps, directly below the app bar, and let onCreate and
onResume drive its visibility as they already do. The XML default goes
from visible to gone to match: onCreate hides it unconditionally anyway,
and a row this prominent should not flash before that runs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kasnder
kasnder merged commit 8de65c9 into master Aug 5, 2026
2 checks passed
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.

1 participant