diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java index 9f19bb301e..f390d0f56f 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java @@ -79,6 +79,7 @@ public abstract class BaseSwipeUpHandler 1 - UPDATE_SYSUI_FLAGS_THRESHOLD)); } + + if (!mInQuickSwitchMode && !mDeviceState.isFullyGesturalNavMode()) { + updateOverviewThresholdPassed(mCurrentShift.value >= MIN_PROGRESS_FOR_OVERVIEW); + } + if (mRecentsAnimationTargets != null) { applyTransformUnchecked(); } @@ -271,14 +281,25 @@ public class FallbackSwipeHandler extends BaseSwipeUpHandler flingThreshold; - if (isFling) { - mGestureState.setEndTarget(endVelocity < 0 ? HOME : LAST_TASK); - } else if (mIsMotionPaused) { - mGestureState.setEndTarget(RECENTS); + if (mDeviceState.isFullyGesturalNavMode()) { + if (isFling) { + mGestureState.setEndTarget(endVelocity < 0 ? HOME : LAST_TASK); + } else if (mOverviewThresholdPassed) { + mGestureState.setEndTarget(RECENTS); + } else { + mGestureState.setEndTarget(mCurrentShift.value >= MIN_PROGRESS_FOR_OVERVIEW + ? HOME + : LAST_TASK); + } } else { - mGestureState.setEndTarget(mCurrentShift.value >= MIN_PROGRESS_FOR_OVERVIEW - ? HOME - : LAST_TASK); + GestureEndTarget startState = mSwipeUpOverHome ? HOME : LAST_TASK; + if (isFling) { + mGestureState.setEndTarget(endVelocity < 0 ? RECENTS : startState); + } else { + mGestureState.setEndTarget(mCurrentShift.value >= MIN_PROGRESS_FOR_OVERVIEW + ? RECENTS + : startState); + } } } mStateCallback.setStateOnUiThread(STATE_GESTURE_COMPLETED); @@ -353,7 +374,7 @@ public class FallbackSwipeHandler extends BaseSwipeUpHandler