diff --git a/quickstep/src/com/android/quickstep/MotionEventQueue.java b/quickstep/src/com/android/quickstep/MotionEventQueue.java index 538e23c3af..15f5aa5247 100644 --- a/quickstep/src/com/android/quickstep/MotionEventQueue.java +++ b/quickstep/src/com/android/quickstep/MotionEventQueue.java @@ -163,7 +163,7 @@ public class MotionEventQueue { mConsumer.updateTouchTracking(INTERACTION_QUICK_SCRUB); break; case ACTION_QUICK_STEP: - mConsumer.onQuickStep(event.getX(), event.getY(), event.getEventTime()); + mConsumer.onQuickStep(event); break; default: Log.e(TAG, "Invalid virtual event: " + event.getAction()); diff --git a/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java b/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java index d1003a51c3..23738fb257 100644 --- a/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java +++ b/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java @@ -84,8 +84,6 @@ public class OtherActivityTouchConsumer extends ContextWrapper implements TouchC private boolean mPassedInitialSlop; // Used for non-deferred gestures to determine when to start dragging private int mQuickStepDragSlop; - // Used for deferred gestures to determine both start of animation and dragging - private int mQuickStepTouchSlop; private float mStartDisplacement; private WindowTransformSwipeHandler mInteractionHandler; private int mDisplayRotation; @@ -131,7 +129,6 @@ public class OtherActivityTouchConsumer extends ContextWrapper implements TouchC mLastPos.set(mDownPos); mPassedInitialSlop = false; mQuickStepDragSlop = NavigationBarCompat.getQuickStepDragSlopPx(); - mQuickStepTouchSlop = NavigationBarCompat.getQuickStepTouchSlopPx(); // Start the window animation on down to give more time for launcher to draw if the // user didn't start the gesture over the back button @@ -165,15 +162,7 @@ public class OtherActivityTouchConsumer extends ContextWrapper implements TouchC mLastPos.set(ev.getX(pointerIndex), ev.getY(pointerIndex)); float displacement = getDisplacement(ev); if (!mPassedInitialSlop) { - if (mIsDeferredDownTarget) { - // Deferred gesture, start the animation and gesture tracking once we pass - // the touch slop - if (Math.abs(displacement) > mQuickStepTouchSlop) { - startTouchTrackingForWindowAnimation(ev.getEventTime()); - mPassedInitialSlop = true; - mStartDisplacement = displacement; - } - } else { + if (!mIsDeferredDownTarget) { // Normal gesture, ensure we pass the drag slop before we start tracking // the gesture if (Math.abs(displacement) > mQuickStepDragSlop) { @@ -364,7 +353,14 @@ public class OtherActivityTouchConsumer extends ContextWrapper implements TouchC } @Override - public void onQuickStep(float eventX, float eventY, long eventTime) { + public void onQuickStep(MotionEvent ev) { + if (mIsDeferredDownTarget) { + // Deferred gesture, start the animation and gesture tracking once we pass the actual + // touch slop + startTouchTrackingForWindowAnimation(ev.getEventTime()); + mPassedInitialSlop = true; + mStartDisplacement = getDisplacement(ev); + } notifyGestureStarted(); } diff --git a/quickstep/src/com/android/quickstep/TouchConsumer.java b/quickstep/src/com/android/quickstep/TouchConsumer.java index 1290ec3375..aa844d80df 100644 --- a/quickstep/src/com/android/quickstep/TouchConsumer.java +++ b/quickstep/src/com/android/quickstep/TouchConsumer.java @@ -46,7 +46,7 @@ public interface TouchConsumer extends Consumer { default void onQuickScrubProgress(float progress) { } - default void onQuickStep(float eventX, float eventY, long eventTime) { } + default void onQuickStep(MotionEvent ev) { } /** * Called on the binder thread to allow the consumer to process the motion event before it is diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index bd05b6d7bf..458f9f59d7 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -334,7 +334,7 @@ public class TouchInteractionService extends Service { } @Override - public void onQuickStep(float eventX, float eventY, long eventTime) { + public void onQuickStep(MotionEvent ev) { if (mInvalidated) { return; }