TouchExplorer: Send hover events based on the event stream.
Previously there were a few areas where we sent hover events based on the internal state of TouchExplorer.
The issue is that when doing gesture detection in talkback, the state is no longer necessarily accurate in relation to the event stream.
The event stream is the source of truth for crashes.
Flag: send_hover_events_based_on_event_stream
Fix: 314251047
Test: atest FrameworksServicesTests:TouchExplorerTest CtsAccessibilityServiceTestCases:TouchExplorer
Test
Change-Id: Id34aaaea94b4ea81be9d4341761f9163a06f5865
diff --git a/services/accessibility/accessibility.aconfig b/services/accessibility/accessibility.aconfig
index 997f3af..4c544f5 100644
--- a/services/accessibility/accessibility.aconfig
+++ b/services/accessibility/accessibility.aconfig
@@ -126,3 +126,12 @@
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"
+ description: "Send hover enter and exit based on the state of the hover event stream rather than the internal state of the touch explorer state machine. Because of the nondeterministic nature of gesture detection when done in talkback, relying on the internal state can cause crashes."
+ bug: "314251047"
+ metadata {
+ purpose: PURPOSE_BUGFIX
+ }
+}