From eafe1e9e3ef29c98472c848ae1f676701743588d Mon Sep 17 00:00:00 2001 From: Ameer Armaly Date: Wed, 11 Nov 2020 09:27:02 -0800 Subject: [PATCH] Transition to clear state after gesture cancelation. Under some circumstances, remaining in gesture detecting state after gesture cancelation can render TouchExplorer unresponsive to touch input. The clear state is unresponsive to everything but ACTION_DOWN. Bug: 171421786 Test: atest GestureManifoldTest TouchExplorerTest AccessibilityGestureDetectorTest FrameworksServicesTests:TouchExplorerTest Change-Id: I9516d3613e92baf16186c24a269866a4143cafc3 Change-Id: I42780f5c733f20b99cb95952d9035109e57750cd --- .../android/server/accessibility/gestures/TouchState.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/accessibility/java/com/android/server/accessibility/gestures/TouchState.java b/services/accessibility/java/com/android/server/accessibility/gestures/TouchState.java index dae16b227c5af..6dabe76c7dc9d 100644 --- a/services/accessibility/java/com/android/server/accessibility/gestures/TouchState.java +++ b/services/accessibility/java/com/android/server/accessibility/gestures/TouchState.java @@ -207,6 +207,11 @@ public class TouchState { case AccessibilityEvent.TYPE_GESTURE_DETECTION_START: startGestureDetecting(); break; + case AccessibilityEvent.TYPE_GESTURE_DETECTION_END: + // Clear to make sure that we don't accidentally execute passthrough, and that we + // are ready for the next interaction. + clear(); + break; default: break; }