diff --git a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java index afe989df66..99ac32ab51 100644 --- a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +++ b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java @@ -1520,6 +1520,9 @@ public abstract class AbsSwipeUpHandler, protected abstract void finishRecentsControllerToHome(Runnable callback); private void setupLauncherUiAfterSwipeUpToRecentsAnimation() { + if (mStateCallback.hasStates(STATE_HANDLER_INVALIDATED)) { + return; + } endLauncherTransitionController(); mRecentsView.onSwipeUpAnimationSuccess(); if (LIVE_TILE.get()) { diff --git a/quickstep/src/com/android/quickstep/TaskAnimationManager.java b/quickstep/src/com/android/quickstep/TaskAnimationManager.java index 44a3e95744..e90a1ab7b1 100644 --- a/quickstep/src/com/android/quickstep/TaskAnimationManager.java +++ b/quickstep/src/com/android/quickstep/TaskAnimationManager.java @@ -57,6 +57,11 @@ public class TaskAnimationManager implements RecentsAnimationCallbacks.RecentsAn @Override public void onActivityRestartAttempt(ActivityManager.RunningTaskInfo task, boolean homeTaskVisible, boolean clearedTask, boolean wasVisible) { + if (mLastGestureState == null) { + ActivityManagerWrapper.getInstance().unregisterTaskStackListener( + mLiveTileRestartListener); + return; + } BaseActivityInterface activityInterface = mLastGestureState.getActivityInterface(); if (LIVE_TILE.get() && activityInterface.isInLiveTileMode() && activityInterface.getCreatedActivity() != null) {