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*/);