Skip to content

Conversation

@tpakis
Copy link

@tpakis tpakis commented Nov 5, 2025

Trying to find the screenreader app on Google Play Store, I saw that the app is not available for Android 16 devices and I believe the talkback gestures training feature is unique and useful for new talkback users.

To do this I updated the AGP, compile/target sdk versions and removed synthetics (did not migrate to view binding or compose)

@JJdeGroot
Copy link
Contributor

Thanks for the PR, @tpakis !
I'll check the changes and publish an update in December.

If you are interested in diving deeper into direct touch containers, perhaps you could take a look at this branch: main...feature/accessibility-service

The goal of this branch was to enable practicing gestures while TalkBack is active. But I wasn't able to get it to work correctly.

https://stackoverflow.com/questions/68632056/what-is-the-use-of-settouchexplorationpassthroughregion-in-android-accessibili

Use TouchInteractionController.requestDelegating() to bypass TalkBack's
  gesture interception, allowing the app to receive raw touch events with
  accurate pointer count for both swipe and tap gesture detection.

  Changes:
  - Implement TouchInteractionController callback in ScreenReaderService
  - Call requestDelegating() to pass touch events directly to the app
  - Remove legacy +1 finger/tap compensations from SwipeGestureView and
    TapGestureView that were needed for synthetic TalkBack events
  - Add API 33 (Android 13) version check before enabling service
  - Show informative dialog on older devices explaining the limitation
  - Add English and Dutch strings for unsupported version dialog

  Technical notes:
  - TouchInteractionController requires API 33 (Android 13)
  - Passthrough regions (API 30) alone were insufficient as TalkBack
    still intercepted gestures before the app could process them
  - The requestDelegating() approach passes events through Android's
    normal input pipeline, preserving multi-finger pointer data
@tpakis tpakis changed the title Make the app available on Android 16 Make the app available on Android 16, support gesture training together with Talkback Dec 16, 2025
@tpakis
Copy link
Author

tpakis commented Dec 16, 2025

Hi @JJdeGroot ! I added in this PR with a second commit to include also the required changes to support the gestures training to work together with Talkback on Android 13+ devices. The required API to work properly does not exist for lower SDK versions, it always had bugs either with only one event detected or Talkback taking priority over the Service. Did not update the other branch because the changes depend on my first commit as well and the service branch was old, we can move changes from there here if you think they are required or open a different PR regarding this.

I tested the changes on Android 16 Pixel 10 and seems to be working fine.

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.

2 participants