Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1f913ea0 authored by ryanlwlin's avatar ryanlwlin
Browse files

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
parent 71444592
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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++) {