# Notifications Master Notifications Master keeps a private history of your Android notifications and can play custom alerts for the ones that matter. It works normally without root or an Xposed module. ## AI Assistance This project was developed with help from AI-assisted coding tools. The design decisions, physical device testing, and final behaviour are still manually reviewed. ## What it records - Notifications appearing, changing, and disappearing. - Whether a notification was dismissed by you or cancelled by its app. - Available text, messaging-style content, and readable notification images. - Common removal reasons such as timeouts and channel changes. You can choose which event types to record, set app-specific allow/block lists, and suppress routine progress or timer updates. The log view can be tailored, expanded for long entries, and exported as CSV, aligned text, or an HTML ZIP. Only the HTML ZIP includes saved notification images; CSV and aligned text use an `[image]` marker instead. ## Privacy Logs and retained notification images are encrypted on the device with an Android Keystore key. Exporting is an explicit action and produces an unencrypted file at the location you choose. Android may withhold sensitive or custom notification content; this app records only what Android makes available to a notification listener. The optional lock protects log screens with your device biometric or credential prompt; the alert setup remains usable. When all logging types, custom alert rules, and direct-alert controls are disabled, the notification listener is disabled too: the app has no polling or scheduled job to run. ## Custom alerts Create named sound and vibration profiles, then assign them to per-app rules. Rules can match notification text, respond to new notifications or meaningful edits, and either play a profile, silence the original alert, or leave it unchanged. Rules can be ordered, combined, and queued; a protected alert can play to completion. Without optional system integration, a matching profile plays alongside the source app's normal alert. With a compatible LSPosed setup enabled, Notifications Master can suppress a matched standard notification alert while leaving the notification itself visible. It only evaluates actual posted or updated notifications; standalone sounds and vibrations remain under the source app's control. To use the optional integration, enable Notifications Master as an LSPosed module and give it the **Android/system server** scope, then restart Android. Custom alerts respect Do Not Disturb. Android does not allow a normal app to force direct custom sound or vibration through Do Not Disturb. ## Notification visibility The optional LSPosed integration can hide an app's notifications independently from the unlocked status bar, collapsed lockscreen, always-on display, and notification drawer. The drawer choice is shared between its locked and unlocked forms. Text exceptions can override an app's default for individual notifications; hiding a drawer card does not dismiss the notification. On OneUI, Notifications Master can also lay out the extra notification icons in Cards mode, with separate lockscreen and always-on-display controls for row count, icons per row, balanced rows, width limits, and icon size. In Icons mode, Android—or StatusBarTweak, when installed—continues to render the icons. The OneUI integration can also keep AOD visible during calls and show the battery percentage on the lockscreen or AOD while the phone is unplugged. For visibility control, also give the module the **System UI** scope. Samsung devices need the **Always On Display** scope for AOD filtering and layout. Restart Android after changing module scopes. ## Requirements Notifications Master supports Android 14 through Android 16 (API levels 34–36). After installation, grant **Notification access** when prompted. The optional log lock uses your device's biometric or credential prompt. LSPosed integration is optional and requires a compatible rooted device plus a system-server scope; the notification log and ordinary custom alerts remain available without it. Tested Android versions: - OneUI 8.0 (Android 16) on a Galaxy Z Fold 5 - AOSP Android 14, 15, and 16 (API 34, 35, and 36) on an emulator - Google APIs Android 15 and 16 (API 35 and 36) on an emulator - LineageOS 22 on Android 15 and LineageOS 23 on Android 16 on an emulator