Loading quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +5 −2 Original line number Diff line number Diff line Loading @@ -233,6 +233,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, // Used to control launcher components throughout the swipe gesture. private AnimatorControllerWithResistance mLauncherTransitionController; private boolean mHasEndedLauncherTransition; private AnimationFactory mAnimationFactory = (t) -> { }; Loading Loading @@ -617,11 +618,11 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, /** * We don't want to change mLauncherTransitionController if mGestureState.getEndTarget() == HOME * (it has its own animation). * (it has its own animation) or if we explicitly ended the controller already. * @return Whether we can create the launcher controller or update its progress. */ private boolean canCreateNewOrUpdateExistingLauncherTransitionController() { return mGestureState.getEndTarget() != HOME; return mGestureState.getEndTarget() != HOME && !mHasEndedLauncherTransition; } @Override Loading Loading @@ -1455,6 +1456,8 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, } private void endLauncherTransitionController() { mHasEndedLauncherTransition = true; if (mLauncherTransitionController != null) { // End the animation, but stay at the same visual progress. mLauncherTransitionController.getNormalController().dispatchSetInterpolator( Loading quickstep/src/com/android/quickstep/views/RecentsView.java +14 −2 Original line number Diff line number Diff line Loading @@ -1286,8 +1286,14 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T } private void updateOrientationHandler() { updateOrientationHandler(true); } private void updateOrientationHandler(boolean forceRecreateDragLayerControllers) { // Handle orientation changes. PagedOrientationHandler oldOrientationHandler = mOrientationHandler; mOrientationHandler = mOrientationState.getOrientationHandler(); mIsRtl = mOrientationHandler.getRecentsRtlSetting(getResources()); setLayoutDirection(mIsRtl ? View.LAYOUT_DIRECTION_RTL Loading @@ -1296,7 +1302,13 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T ? View.LAYOUT_DIRECTION_LTR : View.LAYOUT_DIRECTION_RTL); mClearAllButton.setRotation(mOrientationHandler.getDegreesRotated()); if (forceRecreateDragLayerControllers || !mOrientationHandler.equals(oldOrientationHandler)) { // Changed orientations, update controllers so they intercept accordingly. mActivity.getDragLayer().recreateControllers(); } boolean isInLandscape = mOrientationState.getTouchRotation() != ROTATION_0 || mOrientationState.getRecentsActivityRotation() != ROTATION_0; mActionsView.updateHiddenFlags(HIDDEN_NON_ZERO_ROTATION, Loading Loading @@ -1616,7 +1628,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T setCurrentPage(0); LayoutUtils.setViewEnabled(mActionsView, true); if (mOrientationState.setGestureActive(false)) { updateOrientationHandler(); updateOrientationHandler(/* forceRecreateDragLayerControllers = */ false); } }); } Loading Loading
quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +5 −2 Original line number Diff line number Diff line Loading @@ -233,6 +233,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, // Used to control launcher components throughout the swipe gesture. private AnimatorControllerWithResistance mLauncherTransitionController; private boolean mHasEndedLauncherTransition; private AnimationFactory mAnimationFactory = (t) -> { }; Loading Loading @@ -617,11 +618,11 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, /** * We don't want to change mLauncherTransitionController if mGestureState.getEndTarget() == HOME * (it has its own animation). * (it has its own animation) or if we explicitly ended the controller already. * @return Whether we can create the launcher controller or update its progress. */ private boolean canCreateNewOrUpdateExistingLauncherTransitionController() { return mGestureState.getEndTarget() != HOME; return mGestureState.getEndTarget() != HOME && !mHasEndedLauncherTransition; } @Override Loading Loading @@ -1455,6 +1456,8 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, } private void endLauncherTransitionController() { mHasEndedLauncherTransition = true; if (mLauncherTransitionController != null) { // End the animation, but stay at the same visual progress. mLauncherTransitionController.getNormalController().dispatchSetInterpolator( Loading
quickstep/src/com/android/quickstep/views/RecentsView.java +14 −2 Original line number Diff line number Diff line Loading @@ -1286,8 +1286,14 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T } private void updateOrientationHandler() { updateOrientationHandler(true); } private void updateOrientationHandler(boolean forceRecreateDragLayerControllers) { // Handle orientation changes. PagedOrientationHandler oldOrientationHandler = mOrientationHandler; mOrientationHandler = mOrientationState.getOrientationHandler(); mIsRtl = mOrientationHandler.getRecentsRtlSetting(getResources()); setLayoutDirection(mIsRtl ? View.LAYOUT_DIRECTION_RTL Loading @@ -1296,7 +1302,13 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T ? View.LAYOUT_DIRECTION_LTR : View.LAYOUT_DIRECTION_RTL); mClearAllButton.setRotation(mOrientationHandler.getDegreesRotated()); if (forceRecreateDragLayerControllers || !mOrientationHandler.equals(oldOrientationHandler)) { // Changed orientations, update controllers so they intercept accordingly. mActivity.getDragLayer().recreateControllers(); } boolean isInLandscape = mOrientationState.getTouchRotation() != ROTATION_0 || mOrientationState.getRecentsActivityRotation() != ROTATION_0; mActionsView.updateHiddenFlags(HIDDEN_NON_ZERO_ROTATION, Loading Loading @@ -1616,7 +1628,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T setCurrentPage(0); LayoutUtils.setViewEnabled(mActionsView, true); if (mOrientationState.setGestureActive(false)) { updateOrientationHandler(); updateOrientationHandler(/* forceRecreateDragLayerControllers = */ false); } }); } Loading