diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 4bfa4da42a..7a8e11df78 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -2161,7 +2161,12 @@ public abstract class RecentsView extends PagedView tv.notifyTaskLaunchFailed(TAG); } }; - tv.launchTask(false, onLaunchResult, getHandler()); + if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { + finishRecentsAnimation(false /* toRecents */, null); + onLaunchResult.accept(true /* success */); + } else { + tv.launchTask(false, onLaunchResult, getHandler()); + } Task task = tv.getTask(); if (task != null) { mActivity.getStatsLogManager().logger().withItemInfo(tv.getItemInfo()) diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java index 8fbf44b572..686f8785c5 100644 --- a/quickstep/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/src/com/android/quickstep/views/TaskView.java @@ -217,6 +217,7 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable { } if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { if (isRunningTask()) { + // TODO: Replace this animation with createRecentsWindowAnimator createLaunchAnimationForRunningTask().start(); } else { launchTask(true /* animate */); @@ -364,10 +365,7 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable { final PendingAnimation pendingAnimation = getRecentsView().createTaskLaunchAnimation( this, RECENTS_LAUNCH_DURATION, TOUCH_RESPONSE_INTERPOLATOR); AnimatorPlaybackController currentAnimation = pendingAnimation.createPlaybackController(); - currentAnimation.setEndAction(() -> { - pendingAnimation.finish(true); - launchTask(false); - }); + currentAnimation.setEndAction(() -> pendingAnimation.finish(true)); return currentAnimation; } @@ -390,20 +388,6 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable { public void launchTask(boolean animate, boolean freezeTaskList, Consumer resultCallback, Handler resultCallbackHandler) { - if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { - if (isRunningTask()) { - getRecentsView().finishRecentsAnimation(false /* toRecents */, - () -> resultCallbackHandler.post(() -> resultCallback.accept(true))); - } else { - launchTaskInternal(animate, freezeTaskList, resultCallback, resultCallbackHandler); - } - } else { - launchTaskInternal(animate, freezeTaskList, resultCallback, resultCallbackHandler); - } - } - - private void launchTaskInternal(boolean animate, boolean freezeTaskList, - Consumer resultCallback, Handler resultCallbackHandler) { if (mTask != null) { final ActivityOptions opts; TestLogging.recordEvent(