From 14f3a795e15155de694982f3e93426f643306a3f Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Thu, 7 Dec 2023 15:00:42 -0800 Subject: [PATCH] Only launch from split taskView if it's visible to user * Same logic that fullscreen tasks use to launch. * If not on-screen it will use default fade in animation Test: Repro-steps don't produce crash Fixes: 313911097 Flag: None Change-Id: I4ada7137bffc7c567e4f8184bdd65bdf9bad481e --- .../android/quickstep/util/SplitSelectStateController.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java index 145707bbfb..e6a4b0af33 100644 --- a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java +++ b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java @@ -627,7 +627,11 @@ public class SplitSelectStateController { }; MAIN_EXECUTOR.execute(() -> { - TaskViewUtils.composeRecentsSplitLaunchAnimator(mLaunchingTaskView, mStateManager, + // Only animate from taskView if it's already visible + boolean shouldLaunchFromTaskView = mLaunchingTaskView != null && + mLaunchingTaskView.getRecentsView().isTaskViewVisible(mLaunchingTaskView); + TaskViewUtils.composeRecentsSplitLaunchAnimator(shouldLaunchFromTaskView + ? mLaunchingTaskView : null, mStateManager, mDepthController, mInitialTaskId, mSecondTaskId, info, t, () -> { finishAdapter.run(); cleanup(true /*success*/);