Skip to content

fix(notification-status): pop every test push and title rows by check name - #1878

Merged
bmc08gt merged 2 commits into
code/cashfrom
fix/notification-status-follow-up
Oct 29, 2026
Merged

bmc08gt merged 2 commits into
code/cashfrom
fix/notification-status-follow-up

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator

Two fixes to the notification status page from #1874.

A second test notification didn't pop up

Sending a test while the previous one was still in the shade posted the new one silently. Each test went out under a random id, so on Android 16 the second one joined an auto-group with the first (g:Aggregate_AlertingSection) and SystemUI logged PEEK suppressed: notification isSilent. The test push now always posts under one fixed id, TEST_PUSH_NOTIFICATION_ID (0x7E57), so a new test replaces the last one and still alerts, since the builder doesn't set onlyAlertOnce. Other pushes keep a random id, and chats keep their chat id. planNotificationId picks the id and has unit tests.

On the invites_android emulator (Android 16, API 36), I sent a test, then a second one while the first was still in the shade. The shade held one Flipcash notification, id 32343, both times, and SystemUI showed both as heads-up:

11:04:38.808 VisualInterruptionDecisionProvider: PEEK allowed: not suppressed (key=0|com.flipcash.app.android|32343|null|10212)
11:04:38.863 HeadsUpManager: [AC] show 0|com.flipcash.app.android|32343|null|10212
11:04:52.541 VisualInterruptionDecisionProvider: PEEK allowed: not suppressed (key=0|com.flipcash.app.android|32343|null|10212)
11:04:52.567 HeadsUpManager: [AC] show 0|com.flipcash.app.android|32343|null|10212

Row titles changed when a check failed

A row with a problem was titled with the problem sentence, so "Battery Optimization" became "Battery optimization is on". The title is now the check name in every state. On a warning or fail, the problem sentence is the first line of the detail and the explanation, if there is one, is the second. Blocked channel rows are titled by channel ("Chat Notifications", "Misc. Notifications"), and the registration row is "Registered for Push" while it checks, with "Contacting Flipcash" as the detail. The share report is unchanged.

checkTitle picks the title from the row's key alone, and problemLine picks the problem sentence. CheckRowTitlesTest checks that every row key has a title, that pending, rechecking, passing and failing rows share it, and that every warning or fail row has a problem line and no passing row does.

On the same emulator, with battery optimization on, the row reads "Battery Optimization" over "Battery optimization is on" / "Android may delay notifications", with Fix beside it. The other rows keep their names: "Notifications Allowed", "Other Categories", "Background Activity", "Google Play Services" and "Registered for Push".

A second test sent while the first is still in the shade joined an
Android 16 auto-group (g:Aggregate_AlertingSection), which posted it with
FLAG_SILENT, so it never popped. Posting every test under one id replaces
the last one instead. Other pushes keep a random id; chats keep their
chat id.
A row with a problem was titled with the problem sentence, so "Battery
Optimization" became "Battery optimization is on" and the row changed
name with its state. The title is now the check name in every state;
blocked channels are titled by channel ("Chat Notifications") and the
registration row stays "Registered for Push" while it checks. On a
warning or fail the problem sentence leads the detail and the
explanation, if any, is its second line. The report is unchanged.
@bmc08gt bmc08gt self-assigned this Oct 29, 2026
@github-actions github-actions Bot added type: fix Bug fix area: notifications Push notifications, in-app messaging and removed type: fix Bug fix labels Oct 29, 2026
@bmc08gt
bmc08gt merged commit bb01a53 into code/cash Oct 29, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: notifications Push notifications, in-app messaging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant