summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/accessibility/java/com/android/server/accessibility/gestures/MultiTap.java8
-rw-r--r--services/accessibility/java/com/android/server/accessibility/gestures/MultiTapAndHold.java5
-rw-r--r--services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java5
-rw-r--r--services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java10
-rw-r--r--services/tests/servicestests/src/com/android/server/accessibility/magnification/WindowMagnificationGestureHandlerTest.java6
5 files changed, 26 insertions, 8 deletions
diff --git a/services/accessibility/java/com/android/server/accessibility/gestures/MultiTap.java b/services/accessibility/java/com/android/server/accessibility/gestures/MultiTap.java
index af5433e165f4..9555980287e3 100644
--- a/services/accessibility/java/com/android/server/accessibility/gestures/MultiTap.java
+++ b/services/accessibility/java/com/android/server/accessibility/gestures/MultiTap.java
@@ -43,12 +43,18 @@ public class MultiTap extends GestureMatcher {
public MultiTap(Context context, int taps, int gesture,
GestureMatcher.StateChangeListener listener) {
+ this(context, taps, gesture,
+ ViewConfiguration.getDoubleTapTimeout(), listener);
+ }
+
+ public MultiTap(Context context, int taps, int gesture, int multiTapTimeout,
+ GestureMatcher.StateChangeListener listener) {
super(gesture, new Handler(context.getMainLooper()), listener);
mTargetTaps = taps;
+ mDoubleTapTimeout = multiTapTimeout;
mDoubleTapSlop = ViewConfiguration.get(context).getScaledDoubleTapSlop();
mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
mTapTimeout = ViewConfiguration.getTapTimeout();
- mDoubleTapTimeout = ViewConfiguration.getDoubleTapTimeout();
clear();
}
diff --git a/services/accessibility/java/com/android/server/accessibility/gestures/MultiTapAndHold.java b/services/accessibility/java/com/android/server/accessibility/gestures/MultiTapAndHold.java
index 8363ecaf8901..15e1278a9175 100644
--- a/services/accessibility/java/com/android/server/accessibility/gestures/MultiTapAndHold.java
+++ b/services/accessibility/java/com/android/server/accessibility/gestures/MultiTapAndHold.java
@@ -30,6 +30,11 @@ public class MultiTapAndHold extends MultiTap {
super(context, taps, gesture, listener);
}
+ public MultiTapAndHold(Context context, int taps, int gesture, int multiTapTimeout,
+ GestureMatcher.StateChangeListener listener) {
+ super(context, taps, gesture, multiTapTimeout, listener);
+ }
+
@Override
protected void onDown(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
super.onDown(event, rawEvent, policyFlags);
diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java
index 0ee58967c9b7..159022b4076d 100644
--- a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java
+++ b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java
@@ -1168,9 +1168,8 @@ public class FullScreenMagnificationGestureHandler extends MagnificationGestureH
DetectingState(Context context) {
mLongTapMinDelay = ViewConfiguration.getLongPressTimeout();
- mMultiTapMaxDelay = ViewConfiguration.getDoubleTapTimeout()
- + context.getResources().getInteger(
- R.integer.config_screen_magnification_multi_tap_adjustment);
+ mMultiTapMaxDelay =
+ MagnificationGestureMatcher.getMagnificationMultiTapTimeout(context);
mSwipeMinDistance = ViewConfiguration.get(context).getScaledTouchSlop();
mMultiTapMaxDistance = ViewConfiguration.get(context).getScaledDoubleTapSlop();
}
diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java b/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java
index 75d01f574cac..6f1141ff76ec 100644
--- a/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java
+++ b/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java
@@ -470,12 +470,14 @@ public class WindowMagnificationGestureHandler extends MagnificationGestureHandl
mDetectSingleFingerTripleTap
? MagnificationGestureMatcher.GESTURE_TRIPLE_TAP
: MagnificationGestureMatcher.GESTURE_SINGLE_TAP,
+ MagnificationGestureMatcher.getMagnificationMultiTapTimeout(mContext),
null));
mGestureMatchers.add(new MultiTapAndHold(context,
mDetectSingleFingerTripleTap ? 3 : 1,
mDetectSingleFingerTripleTap
? MagnificationGestureMatcher.GESTURE_TRIPLE_TAP_AND_HOLD
: MagnificationGestureMatcher.GESTURE_SINGLE_TAP_AND_HOLD,
+ MagnificationGestureMatcher.getMagnificationMultiTapTimeout(mContext),
null));
mGestureMatchers.add(new TwoFingersDownOrSwipe(context));
@@ -495,12 +497,16 @@ public class WindowMagnificationGestureHandler extends MagnificationGestureHandl
mDetectSingleFingerTripleTap ? 3 : 1,
mDetectSingleFingerTripleTap
? MagnificationGestureMatcher.GESTURE_TRIPLE_TAP
- : MagnificationGestureMatcher.GESTURE_SINGLE_TAP, null);
+ : MagnificationGestureMatcher.GESTURE_SINGLE_TAP,
+ MagnificationGestureMatcher.getMagnificationMultiTapTimeout(mContext),
+ null);
final MultiTapAndHold multiTapAndHold = new MultiTapAndHold(context,
mDetectSingleFingerTripleTap ? 3 : 1,
mDetectSingleFingerTripleTap
? MagnificationGestureMatcher.GESTURE_TRIPLE_TAP_AND_HOLD
- : MagnificationGestureMatcher.GESTURE_SINGLE_TAP_AND_HOLD, null);
+ : MagnificationGestureMatcher.GESTURE_SINGLE_TAP_AND_HOLD,
+ MagnificationGestureMatcher.getMagnificationMultiTapTimeout(mContext),
+ null);
mGesturesObserver = new MagnificationGesturesObserver(this,
new SimpleSwipe(context),
multiTap,
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/magnification/WindowMagnificationGestureHandlerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/magnification/WindowMagnificationGestureHandlerTest.java
index c99e04037023..31e15ded30c2 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/magnification/WindowMagnificationGestureHandlerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/magnification/WindowMagnificationGestureHandlerTest.java
@@ -341,7 +341,8 @@ public class WindowMagnificationGestureHandlerTest {
twoFingerTap();
twoFingerTap();
// Wait for two-finger tap gesture completed.
- SystemClock.sleep(ViewConfiguration.getDoubleTapMinTime() + 500);
+ SystemClock.sleep(MagnificationGestureMatcher
+ .getMagnificationMultiTapTimeout(mContext) + 100);
InstrumentationRegistry.getInstrumentation().waitForIdleSync();
}
break;
@@ -403,7 +404,8 @@ public class WindowMagnificationGestureHandlerTest {
twoFingerTap();
twoFingerTap();
// Wait for two-finger tap gesture completed.
- SystemClock.sleep(ViewConfiguration.getDoubleTapMinTime() + 500);
+ SystemClock.sleep(MagnificationGestureMatcher
+ .getMagnificationMultiTapTimeout(mContext) + 100);
InstrumentationRegistry.getInstrumentation().waitForIdleSync();
}
break;