Improve notification capture fidelity and documentation
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# Notification Log
|
||||
|
||||
Notification Log is a private, non-root Android notification listener for API
|
||||
34–36. It keeps an encrypted local history of notification appearances, edits,
|
||||
and removal reasons, including a distinction between an app cancelling its own
|
||||
notification and a user dismissing it.
|
||||
|
||||
## Privacy and capture limits
|
||||
|
||||
The event log and copied image files are encrypted at rest with an Android
|
||||
Keystore-backed AES-GCM key. Export is deliberately unencrypted only after the
|
||||
user acknowledges a warning and chooses a destination through Android's Storage
|
||||
Access Framework.
|
||||
|
||||
Android exposes standard notification extras such as title, text, big text,
|
||||
inbox lines, messaging-style messages, and readable big-picture content. This
|
||||
app copies a readable bitmap at post time when Android provides one. It cannot
|
||||
reconstruct opaque custom `RemoteViews`, OTP content Android redacts, or image
|
||||
URIs/Icons which Android does not allow it to load. Such images remain marked
|
||||
as `[image]` without causing the text event to be lost.
|
||||
|
||||
The app declares `QUERY_ALL_PACKAGES` solely to implement the settings pages'
|
||||
“all installed apps” list. A Play-distributed build must meet Google Play's
|
||||
restricted package-visibility policy and provide the required declaration; a
|
||||
future distribution variant may need a narrower app-selection flow.
|
||||
|
||||
## Notification update policy
|
||||
|
||||
Each platform notification key is tracked independently. Group summaries are
|
||||
logged as their own platform notifications; the app does not invent extra group
|
||||
events. Ongoing notifications are recorded when Android posts, updates, or
|
||||
removes them, but are never treated as user-dismissible. Identical reposts are
|
||||
ignored. With the default **Ignore routine updates** setting, standard
|
||||
progress/chronometer notifications do not create edit rows; non-routine content
|
||||
changes do. Disabling that setting records the updates as edits.
|
||||
|
||||
## Development checks
|
||||
|
||||
```bash
|
||||
./gradlew test assembleDebug
|
||||
```
|
||||
|
||||
The local Android test lab has been checked on AOSP API 34/35/36, Google APIs
|
||||
API 35/36, and LineageOS API 35/36 using clean LSPosed snapshots. Root and
|
||||
Xposed are not used by this application.
|
||||
Reference in New Issue
Block a user