From aa79e68759fe5313d260cbc8581e22092e99f668 Mon Sep 17 00:00:00 2001 From: wilsonshih Date: Wed, 1 Dec 2021 17:52:01 +0800 Subject: [PATCH] Fixes BinderTests when enable shell transition. Post startActivity to UI_HELPER_EXECUTOR There will do Resumed the launcher's activity when goes to Overview, skip the isStarted != isResumed check while shell transition is enabled Bug: 207297486 Test: atest BinderTests Change-Id: Id3220b89bfac212062f389879549627a88d93a04 --- .../src/com/android/quickstep/TaskAnimationManager.java | 2 +- .../src/com/android/quickstep/AbstractQuickStepTest.java | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/quickstep/src/com/android/quickstep/TaskAnimationManager.java b/quickstep/src/com/android/quickstep/TaskAnimationManager.java index e69330ab22..66ecf88930 100644 --- a/quickstep/src/com/android/quickstep/TaskAnimationManager.java +++ b/quickstep/src/com/android/quickstep/TaskAnimationManager.java @@ -184,7 +184,7 @@ public class TaskAnimationManager implements RecentsAnimationCallbacks.RecentsAn 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 189dff8c5f..fb7fda13a4 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 com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TI 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 @@ import org.junit.rules.TestRule; * 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 @@ public abstract class AbstractQuickStepTest extends AbstractLauncherUiTest { @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 @@ public abstract class AbstractQuickStepTest extends AbstractLauncherUiTest { @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 {