diff --git a/quickstep/src/com/android/quickstep/TaskAnimationManager.java b/quickstep/src/com/android/quickstep/TaskAnimationManager.java
index e69330a..66ecf88 100644
--- a/quickstep/src/com/android/quickstep/TaskAnimationManager.java
+++ b/quickstep/src/com/android/quickstep/TaskAnimationManager.java
@@ -184,7 +184,7 @@
                     mCtx.getIApplicationThread());
             Bundle options = ActivityOptionsCompat.makeRemoteTransition(transition)
                     .setTransientLaunch().toBundle();
-            mCtx.startActivity(intent, options);
+            UI_HELPER_EXECUTOR.execute(() -> mCtx.startActivity(intent, options));
         } else {
             UI_HELPER_EXECUTOR.execute(() -> ActivityManagerWrapper.getInstance()
                     .startRecentsActivity(intent, eventTime, mCallbacks, null, null));
diff --git a/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java b/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java
index 189dff8..fb7fda1 100644
--- a/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java
+++ b/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java
@@ -20,6 +20,8 @@
 
 import static org.junit.Assert.assertTrue;
 
+import android.os.SystemProperties;
+
 import com.android.launcher3.Launcher;
 import com.android.launcher3.tapl.LauncherInstrumentation;
 import com.android.launcher3.tapl.LauncherInstrumentation.ContainerType;
@@ -33,6 +35,8 @@
  * Base class for all instrumentation tests that deal with Quickstep.
  */
 public abstract class AbstractQuickStepTest extends AbstractLauncherUiTest {
+    static final boolean ENABLE_SHELL_TRANSITIONS =
+            SystemProperties.getBoolean("persist.debug.shell_transit", false);
     @Override
     protected TestRule getRulesInsideActivityMonitor() {
         return RuleChain.
@@ -51,7 +55,7 @@
     @Override
     protected void checkLauncherState(Launcher launcher, ContainerType expectedContainerType,
             boolean isResumed, boolean isStarted) {
-        if (!isInLiveTileMode(launcher, expectedContainerType)) {
+        if (ENABLE_SHELL_TRANSITIONS || !isInLiveTileMode(launcher, expectedContainerType)) {
             super.checkLauncherState(launcher, expectedContainerType, isResumed, isStarted);
         } else {
             assertTrue("[Live Tile] hasBeenResumed() == isStarted(), hasBeenResumed(): "
@@ -62,7 +66,7 @@
     @Override
     protected void checkLauncherStateInOverview(Launcher launcher,
             ContainerType expectedContainerType, boolean isStarted, boolean isResumed) {
-        if (!isInLiveTileMode(launcher, expectedContainerType)) {
+        if (ENABLE_SHELL_TRANSITIONS || !isInLiveTileMode(launcher, expectedContainerType)) {
             super.checkLauncherStateInOverview(launcher, expectedContainerType, isStarted,
                     isResumed);
         } else {
