Sends ACTION_CANCEL before the very first touch exploration HOVER event.
This resets the InputDispatcher state in case the user had a pointer
down (and kept it down) before enabling TalkBack or while booting up
the device before TalkBack has started up.
Fix: 364408887
Test: atest TouchExplorerTest
Test: touch and hold on the screen;
start TalkBack with a shortcut or adb shell;
lift your finger off the screen;
touch the screen again, and observe that touch exploration
functions properly.
Flag: com.android.server.accessibility.reset_input_dispatcher_before_first_touch_exploration
Change-Id: I1c2bdb7b3d32cd124257e60e8c91c073c3040f50
diff --git a/services/accessibility/accessibility.aconfig b/services/accessibility/accessibility.aconfig
index 8e2e0ad..3f604ca 100644
--- a/services/accessibility/accessibility.aconfig
+++ b/services/accessibility/accessibility.aconfig
@@ -209,6 +209,16 @@
}
flag {
+ name: "reset_input_dispatcher_before_first_touch_exploration"
+ namespace: "accessibility"
+ description: "Resets InputDispatcher state by sending ACTION_CANCEL before the first TouchExploration hover events"
+ bug: "364408887"
+ metadata {
+ purpose: PURPOSE_BUGFIX
+ }
+}
+
+flag {
name: "scan_packages_without_lock"
namespace: "accessibility"
description: "Scans packages for accessibility service/activity info without holding the A11yMS lock"
@@ -221,6 +231,7 @@
description: "Sends accessibility events in TouchExplorer#onAccessibilityEvent based on internal state to keep it consistent. This reduces test flakiness."
bug: "295575684"
}
+
flag {
name: "send_hover_events_based_on_event_stream"
namespace: "accessibility"