Skip to content

Read Samsung watch notification content before the time - #112

Open
willbilec wants to merge 1 commit into
trypsynth:masterfrom
willbilec:codex/samsung-watch-notification-content
Open

willbilec wants to merge 1 commit into
trypsynth:masterfrom
willbilec:codex/samsung-watch-notification-content

Conversation

@willbilec

Copy link
Copy Markdown
Contributor

On Samsung Wear OS watches, focusing a notification can read the app and title but leave out the message. For example, a WhatsApp notification announces the group name even though the message is available in the accessibility tree. I've been seeing this bug since around One UI 6, including with regular TalkBack.

Samsung puts the app, title, and time in the notification card's content description, with the message in a single_body_text child. Backtalk normally skips children when the parent already has a content description, so the message is missed.

This fix recognizes Samsung's notification-card structure and reads the app/title, then the message, then the time once. It uses Backtalk's existing text and emoji processing, avoids hidden or separately focusable content and neighboring cards, and disables the card's inline font announcements. It works automatically without another setting or gesture. Phone behavior and notification-arrival settings stay the same. The behavior is documented in differences.md.

I've been testing this thoroughly on my Samsung watch, and it works. I tested WhatsApp notifications with swipe navigation and touch exploration, confirmed that the message is read, and confirmed the final order with the time last and no "start/end font" announcements. The connected watch used for this verification reported Android 16 and One UI version 80000; the fix matches the notification structure rather than a specific One UI version.

Validation on the PR branch:

  • testPhoneDebugUnitTest
  • :talkback:testWearDebugUnitTest
  • assemblePhoneDebug and assembleWearDebug
  • :lintPhoneDebug
  • git diff --check

The new notification tests cover message extraction, duplicates, nested/neighboring cards, hidden and separately focusable content, phone and child-iteration boundaries, localized timestamp ordering, missing timestamps, and the Samsung Wear-only font-announcement exemption.

@willbilec

Copy link
Copy Markdown
Contributor Author

I've been seeing this notification-reading bug on Samsung watches since around One UI 6, including with regular TalkBack. It reads the title but misses the message even though the message is in the accessibility tree.

The fix reads the message child that Samsung leaves out of the card's description, then moves the time to the end. It also stops the "start/end font" announcements on these cards.

I've been testing this thoroughly on my Samsung watch, and it works. With WhatsApp notifications, I confirmed the message is read using both swipe navigation and touch exploration. The final build reads the app/title, then the message, then the time once, without the font announcements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant