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
diff --git a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java
index 145707b..e6a4b0a 100644
--- a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java
+++ b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java
@@ -627,7 +627,11 @@
};
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*/);