Merge "Add the StartingWindowController so that splash screen is displayed as expected" into tm-qpr-dev am: 626b0df41c

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Car/Launcher/+/19933713

Change-Id: I9a7fba44b815b7ce9b3b42ad4f3097c23c95594f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/com/android/car/carlauncher/TaskViewManager.java b/src/com/android/car/carlauncher/TaskViewManager.java
index a51f055..df1434f 100644
--- a/src/com/android/car/carlauncher/TaskViewManager.java
+++ b/src/com/android/car/carlauncher/TaskViewManager.java
@@ -49,12 +49,15 @@
 
 import com.android.car.carlauncher.taskstack.TaskStackChangeListeners;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.launcher3.icons.IconProvider;
 import com.android.wm.shell.ShellTaskOrganizer;
 import com.android.wm.shell.common.HandlerExecutor;
 import com.android.wm.shell.common.SyncTransactionQueue;
 import com.android.wm.shell.common.TransactionPool;
 import com.android.wm.shell.common.annotations.ShellMainThread;
 import com.android.wm.shell.fullscreen.FullscreenTaskListener;
+import com.android.wm.shell.startingsurface.StartingWindowController;
+import com.android.wm.shell.startingsurface.phone.PhoneStartingWindowTypeAlgorithm;
 import com.android.wm.shell.sysui.ShellInit;
 
 import java.util.ArrayList;
@@ -321,6 +324,10 @@
                 carActivityManagerRef, mSyncQueue);
         mTaskOrganizer.addListenerForType(fullscreenTaskListener, TASK_LISTENER_TYPE_FULLSCREEN);
         ShellInit shellInit = new ShellInit(mShellExecutor);
+        // StartingWindowController needs to be initialized so that splash screen is displayed.
+        new StartingWindowController(mContext, shellInit, mTaskOrganizer, mShellExecutor,
+                new PhoneStartingWindowTypeAlgorithm(), new IconProvider(mContext),
+                new TransactionPool());
         shellInit.init();
         List<TaskAppearedInfo> taskAppearedInfos = mTaskOrganizer.registerOrganizer();
         cleanUpExistingTaskViewTasks(taskAppearedInfos);