diff --git a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java index c724318c2d..f02acab838 100644 --- a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java @@ -167,9 +167,14 @@ public abstract class BaseQuickstepLauncher extends Launcher } @Override - protected void handlePendingActivityRequest() { - super.handlePendingActivityRequest(); - if (mPendingActivityRequestCode != -1 && isInState(NORMAL)) { + public void onStateSetEnd(LauncherState state) { + super.onStateSetEnd(state); + handlePendingActivityRequest(); + } + + private void handlePendingActivityRequest() { + if (mPendingActivityRequestCode != -1 && isInState(NORMAL) + && ((getActivityFlags() & ACTIVITY_STATE_DEFERRED_RESUMED) != 0)) { // Remove any active ProxyActivityStarter task and send RESULT_CANCELED to Launcher. onActivityResult(mPendingActivityRequestCode, RESULT_CANCELED, null); // ProxyActivityStarter is started with clear task to reset the task after which it diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index ea98157877..e099d852f3 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -961,8 +961,6 @@ public class Launcher extends StatefulActivity implements Launche DiscoveryBounce.showForHomeIfNeeded(this); } - protected void handlePendingActivityRequest() { } - private void logStopAndResume(boolean isResume) { if (mPendingExecutor != null) return; int pageIndex = mWorkspace.isOverlayShown() ? -1 : mWorkspace.getCurrentPage(); @@ -1053,7 +1051,7 @@ public class Launcher extends StatefulActivity implements Launche @Override public void onStateSetEnd(LauncherState state) { - super.onStateSetStart(state); + super.onStateSetEnd(state); getAppWidgetHost().setResumed(state == LauncherState.NORMAL); getWorkspace().setClipChildren(!state.hasFlag(FLAG_MULTI_PAGE)); @@ -1479,8 +1477,7 @@ 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.shouldAnimateStateChange(), - this::handlePendingActivityRequest); + mStateManager.goToState(NORMAL, mStateManager.shouldAnimateStateChange()); } // Reset the apps view