diff --git a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java index 47ce320331..6b941be471 100644 --- a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java @@ -157,6 +157,12 @@ public abstract class BaseQuickstepLauncher extends Launcher @Override protected void onDeferredResumed() { super.onDeferredResumed(); + handlePendingActivityRequest(); + } + + @Override + protected void handlePendingActivityRequest() { + super.handlePendingActivityRequest(); if (mPendingActivityRequestCode != -1 && isInState(NORMAL)) { // Remove any active ProxyActivityStarter task and send RESULT_CANCELED to Launcher. onActivityResult(mPendingActivityRequestCode, RESULT_CANCELED, null); diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 0970dae479..d06ae7a9c5 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -923,6 +923,7 @@ public class Launcher extends StatefulActivity implements Launche DiscoveryBounce.showForHomeIfNeeded(this); } + protected void handlePendingActivityRequest() { } private void logStopAndResume(int command) { int pageIndex = mWorkspace.isOverlayShown() ? -1 : mWorkspace.getCurrentPage(); @@ -1423,7 +1424,8 @@ public class Launcher extends StatefulActivity implements Launche if (!isInState(NORMAL)) { // Only change state, if not already the same. This prevents cancelling any // animations running as part of resume - mStateManager.goToState(NORMAL); + mStateManager.goToState(NORMAL, mStateManager.shouldAnimateStateChange(), + this::handlePendingActivityRequest); } // Reset the apps view