diff --git a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java index 19ffd2ac35..3d8ffc418a 100644 --- a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +++ b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java @@ -1204,7 +1204,6 @@ public abstract class AbsSwipeUpHandler, final GestureEndTarget endTarget = calculateEndTarget(velocity, endVelocity, isFling, isCancel); - setClampScrollOffset(false); // Set the state, but don't notify until the animation completes mGestureState.setEndTarget(endTarget, false /* isAtomic */); mAnimationFactory.setEndTarget(endTarget); @@ -1282,13 +1281,16 @@ public abstract class AbsSwipeUpHandler, // Let RecentsView handle the scrolling to the task, which we launch in startNewTask() // or resumeLastTask(). + Runnable onPageTransitionEnd = () -> { + mGestureState.setState(STATE_RECENTS_SCROLLING_FINISHED); + setClampScrollOffset(false); + }; if (mRecentsView != null) { ActiveGestureLog.INSTANCE.trackEvent(ActiveGestureErrorDetector.GestureEvent .SET_ON_PAGE_TRANSITION_END_CALLBACK); - mRecentsView.setOnPageTransitionEndCallback( - () -> mGestureState.setState(STATE_RECENTS_SCROLLING_FINISHED)); + mRecentsView.setOnPageTransitionEndCallback(onPageTransitionEnd); } else { - mGestureState.setState(STATE_RECENTS_SCROLLING_FINISHED); + onPageTransitionEnd.run(); } animateToProgress(startShift, endShift, duration, interpolator, endTarget, velocity); diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index dc1b885172..8b406ec4f7 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -5072,15 +5072,15 @@ public abstract class RecentsView