Filter notifications to communication apps + add now-playing media row#1
Merged
Merged
Conversation
The notification listener captured every notification with any text, so persistent junk (Chrome open-tab, foreground services, USB, VPN) leaked onto the home screen and music players showed only as plain text. Rework SlimNotificationListener.onNotificationPosted into an ordered pipeline: - Route media first (CATEGORY_TRANSPORT / EXTRA_MEDIA_SESSION token) so ongoing media isn't dropped by the noise filter below. - Drop ongoing / foreground-service notifications (the actual noise). - Communication-only filter (user toggle, default on): keep only message / call / email / social / missed-call categories. NotificationRegistry now tracks media separately (MediaInfo with title/artist/album-art, read via MediaController from the session token, falling back to notification extras + large icon). The Active section renders matching apps as a now-playing row: album art, "Title - Artist", and a music badge; tap still opens the player. No new layout, no extra permission — the existing notification-listener grant covers MediaController. Also: tapping the weather chip no longer jumps into Settings (easy mis-tap), and a "Communication apps only" toggle is added under a new Settings > Notifications section. Verified on device: weather tap inert; filter blocks noise when on and passes when off; Phocid now-playing row renders with art + track + badge. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
The notification listener captured every notification with any text, so persistent junk (Chrome open-tab, foreground services, USB, VPN) leaked onto the home screen and music players showed only as plain text.
Rework SlimNotificationListener.onNotificationPosted into an ordered pipeline:
NotificationRegistry now tracks media separately (MediaInfo with title/artist/album-art, read via MediaController from the session token, falling back to notification extras + large icon). The Active section renders matching apps as a now-playing row: album art, "Title - Artist", and a music badge; tap still opens the player. No new layout, no extra permission — the existing notification-listener grant covers MediaController.
Also: tapping the weather chip no longer jumps into Settings (easy mis-tap), and a "Communication apps only" toggle is added under a new Settings > Notifications section.
Verified on device: weather tap inert; filter blocks noise when on and passes when off; Phocid now-playing row renders with art + track + badge.