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
This commit is contained in:
@@ -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++) {
|
||||
|
||||
Reference in New Issue
Block a user