Merge "Fixes BinderTests when enable shell transition."
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 {