summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorryanlwlin <ryanlwlin@google.com>2020-06-20 13:52:44 +0800
committerryanlwlin <ryanlwlin@google.com>2020-06-22 11:24:17 +0800
commit1f913ea0dca7b13c32d6776c262d225aa5c8eada (patch)
tree38a27fd865ec998485fd364df37f1ad18ca21538
parent7144459282730dc65837c74531d15a0d585bd065 (diff)
Fix Hard to detect multi-finger multi-tap
The double-tap/touch slope is from system's double-tap detector. This threshold is too narrow for multi-finger multi-tap. It ends up canceling the detection when the movement exceed the slope. We adjust the slopes by multiplying the target finger count. The maxium slope in 4 fingers is around 4.48 mm is smaller than the swipe threshold (1 cm) Bug: 158725482 Test: atest GestureManifoldTest atest TouchExplorerTest atest AccessibilityGestureDetectorTest Change-Id: If0927d15d61a9682da67721d0bf0bbbc1045078b
-rw-r--r--services/accessibility/java/com/android/server/accessibility/gestures/MultiFingerMultiTap.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/services/accessibility/java/com/android/server/accessibility/gestures/MultiFingerMultiTap.java b/services/accessibility/java/com/android/server/accessibility/gestures/MultiFingerMultiTap.java
index 642a841257bf..09e060570c93 100644
--- a/services/accessibility/java/com/android/server/accessibility/gestures/MultiFingerMultiTap.java
+++ b/services/accessibility/java/com/android/server/accessibility/gestures/MultiFingerMultiTap.java
@@ -67,8 +67,8 @@ class MultiFingerMultiTap extends GestureMatcher {
Preconditions.checkArgumentPositive(taps, "Tap count must greater than 0.");
mTargetTapCount = taps;
mTargetFingerCount = fingers;
- mDoubleTapSlop = ViewConfiguration.get(context).getScaledDoubleTapSlop();
- mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
+ mDoubleTapSlop = ViewConfiguration.get(context).getScaledDoubleTapSlop() * fingers;
+ mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop() * fingers;
mBases = new PointF[mTargetFingerCount];
for (int i = 0; i < mBases.length; i++) {