feat: add setting to ignore silent notifications - #29
Merged
EvanKoe merged 1 commit intoAug 25, 2026
Merged
Conversation
Owner
- Inspect notification importance and ambient status to classify silent notifications - Add 'ignoreSilentNotifications' preference under Settings > Behavior - Suppress cutout bubble notifications when silent notifications are ignored - Introduce unit tests and JUnit dependency for notification classification and filtering
anuragdeshpande
force-pushed
the
feat/ignore-silent-notifications-toggle
branch
from
August 24, 2026 14:31
26f7254 to
0995ba7
Compare
Author
|
Rebased onto |
Owner
|
Lgtm, tested on my end. |
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
Modern Android versions allow notifications and notification channels to be marked as Silent or Default (Alerting). Silent notifications appear in the "Silent" section of the notification shade without playing sound, vibrating, or showing heads-up banners.
Previously, Expressive Cutout surfaced cutout bubble animations for all clearable notifications regardless of whether they were marked as silent or alerting. This PR introduces an opt-in toggle under Settings > Behavior ("Ignore silent notifications") that respects this Android system configuration and suppresses cutout bubbles for silent notifications.
What was done & Why
Notification Silence Detection (
NotificationClassifier&CutoutNotificationListenerService)NotificationClassifier.isSilent(...)to evaluate notification importance and ambient status (importance < IMPORTANCE_DEFAULTorisAmbient == true), with backward-compatible priority fallback.CutoutNotificationListenerService.onNotificationPostedto receiveRankingMapfrom Android'sNotificationListenerServiceand tagCutoutSignal.NotificationwithisSilent: Boolean.User Preference & DataStore (
BehaviourSettings,BehaviourPreferences,AppViewModel)ignoreSilentNotifications: Boolean = falsetoBehaviourSettings.Overlay Bubble Filtering (
IslandOverlayController)ignoreSilentNotificationsis enabled,IslandOverlayControllerskips displaying cutout bubble overlays for notifications wheresignal.isSilent == true.Settings UI (
BehaviourScreen,strings.xml)Testability & Unit Tests (
SilentNotificationTest)testImplementation(libs.junit)inbuild.gradle.ktsandlibs.versions.toml).SilentNotificationTestcovering importance classification, ambient status, fallback priorities, signal flags, and filtering logic to guarantee regression prevention.How it helps the Application & System