diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 1a866800f7..66d621e1f1 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -784,8 +784,7 @@ public abstract class RecentsView { - if (getTask() == null) { - return; - } - if (LIVE_TILE.get() && isRunningTask()) { - if (!mIsClickableAsLiveTile) { - return; - } - - mIsClickableAsLiveTile = false; - RecentsView recentsView = getRecentsView(); - RemoteAnimationTargets targets = recentsView.getLiveTileParams().getTargetSet(); - recentsView.getLiveTileTaskViewSimulator().setDrawsBelowRecents(false); - - AnimatorSet anim = new AnimatorSet(); - TaskViewUtils.composeRecentsLaunchAnimator( - anim, this, targets.apps, - targets.wallpapers, true /* launcherClosing */, - mActivity.getStateManager(), recentsView, - recentsView.getDepthController()); - anim.addListener(new AnimatorListenerAdapter() { - - @Override - public void onAnimationEnd(Animator animator) { - recentsView.getLiveTileTaskViewSimulator().setDrawsBelowRecents(true); - recentsView.finishRecentsAnimation(false, null); - mIsClickableAsLiveTile = true; - } - }); - anim.start(); - } else { - if (mActivity.isInState(OVERVIEW_SPLIT_SELECT)) { - // User tapped to select second split screen app - getRecentsView().confirmSplitSelect(this); - } else { - launchTaskAnimated(); - } - } - mActivity.getStatsLogManager().logger().withItemInfo(getItemInfo()) - .log(LAUNCHER_TASK_LAUNCH_TAP); - }); + setOnClickListener(this::onClick); mCurrentFullscreenParams = new FullscreenDrawParams(context); mDigitalWellBeingToast = new DigitalWellBeingToast(mActivity, this); @@ -504,10 +465,52 @@ public class TaskView extends FrameLayout implements Reusable { return mIconView; } - public AnimatorPlaybackController createLaunchAnimationForRunningTask() { - return getRecentsView().createTaskLaunchAnimation( - this, RECENTS_LAUNCH_DURATION, TOUCH_RESPONSE_INTERPOLATOR) - .createPlaybackController(); + private void onClick(View view) { + if (getTask() == null) { + return; + } + if (LIVE_TILE.get() && isRunningTask()) { + if (!mIsClickableAsLiveTile) { + return; + } + + // Reset the minimized state since we force-toggled the minimized state when entering + // overview, but never actually finished the recents animation + SystemUiProxy p = SystemUiProxy.INSTANCE.getNoCreate(); + if (p != null) { + p.setSplitScreenMinimized(false); + } + + mIsClickableAsLiveTile = false; + RecentsView recentsView = getRecentsView(); + RemoteAnimationTargets targets = recentsView.getLiveTileParams().getTargetSet(); + recentsView.getLiveTileTaskViewSimulator().setDrawsBelowRecents(false); + + AnimatorSet anim = new AnimatorSet(); + TaskViewUtils.composeRecentsLaunchAnimator( + anim, this, targets.apps, + targets.wallpapers, true /* launcherClosing */, + mActivity.getStateManager(), recentsView, + recentsView.getDepthController()); + anim.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animator) { + recentsView.getLiveTileTaskViewSimulator().setDrawsBelowRecents(true); + recentsView.finishRecentsAnimation(false, null); + mIsClickableAsLiveTile = true; + } + }); + anim.start(); + } else { + if (mActivity.isInState(OVERVIEW_SPLIT_SELECT)) { + // User tapped to select second split screen app + getRecentsView().confirmSplitSelect(this); + } else { + launchTaskAnimated(); + } + } + mActivity.getStatsLogManager().logger().withItemInfo(getItemInfo()) + .log(LAUNCHER_TASK_LAUNCH_TAP); } /**