From de34dd5303ecb34116c0e86153dfabfa9b170ac2 Mon Sep 17 00:00:00 2001 From: Tony Date: Tue, 14 May 2019 17:36:30 -0500 Subject: [PATCH] Disallow pause when swiping up 75% of the way to all apps Test: TaplTestsQuickstep Bug: 131231579 Change-Id: If936007a5033ca5e349fd669c9377302239cbe22 --- .../touchcontrollers/FlingAndHoldTouchController.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/FlingAndHoldTouchController.java b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/FlingAndHoldTouchController.java index 63581092b9..7a6cd2d550 100644 --- a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/FlingAndHoldTouchController.java +++ b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/FlingAndHoldTouchController.java @@ -43,9 +43,11 @@ import com.android.quickstep.views.RecentsView; public class FlingAndHoldTouchController extends PortraitStatesTouchController { private static final long PEEK_ANIM_DURATION = 100; + private static final float MAX_DISPLACEMENT_PERCENT = 0.75f; private final MotionPauseDetector mMotionPauseDetector; private final float mMotionPauseMinDisplacement; + private final float mMotionPauseMaxDisplacement; private AnimatorSet mPeekAnim; @@ -53,6 +55,7 @@ public class FlingAndHoldTouchController extends PortraitStatesTouchController { super(l, false /* allowDragToOverview */); mMotionPauseDetector = new MotionPauseDetector(l); mMotionPauseMinDisplacement = ViewConfiguration.get(l).getScaledTouchSlop(); + mMotionPauseMaxDisplacement = getShiftRange() * MAX_DISPLACEMENT_PERCENT; } @Override @@ -101,7 +104,9 @@ public class FlingAndHoldTouchController extends PortraitStatesTouchController { @Override public boolean onDrag(float displacement, MotionEvent event) { - mMotionPauseDetector.setDisallowPause(-displacement < mMotionPauseMinDisplacement); + float upDisplacement = -displacement; + mMotionPauseDetector.setDisallowPause(upDisplacement < mMotionPauseMinDisplacement + || upDisplacement > mMotionPauseMaxDisplacement); mMotionPauseDetector.addPosition(displacement, event.getEventTime()); return super.onDrag(displacement, event); }