Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 246a8bca authored by Adam Lesinski's avatar Adam Lesinski
Browse files

Revert behavior of Lockscreen Activity Launch to KK

There exists a lifecycle regression where launching an
app from the lockscreen (camera, etc.) causes a series
of onResume, onPause, onRestart, onStart, onResume.

This CL reverts the behavior to what it was in KK, which
is to say that the Launcher is first resumed/paused, then
the Activity being launched has a simple onRestart,onStart, onResume
lifecycle.

Bug:17459745
Change-Id: I04091d2f86a929ee972c8d6debc1beb033c135a8
parent ca5e72c5
Loading
Loading
Loading
Loading
+5 −11
Original line number Diff line number Diff line
@@ -936,13 +936,6 @@ public final class ActivityManagerService extends ActivityManagerNative
     */
    private boolean mRunningVoice = false;
    /**
     * Set while the keyguard is waiting for an activity to draw.
     * In this state, if we are sleeping, we allow Activities to launch
     * so that they can draw before Keyguard dismisses itself.
     */
    private boolean mKeyguardWaitingForDraw = false;
    /**
     * State of external calls telling us if the device is asleep.
     */
@@ -6249,7 +6242,10 @@ public final class ActivityManagerService extends ActivityManagerNative
            synchronized (this) {
                if (DEBUG_LOCKSCREEN) logLockScreen("");
                mWindowManager.keyguardWaitingForActivityDrawn();
                mKeyguardWaitingForDraw = true;
                if (mLockScreenShown) {
                    mLockScreenShown = false;
                    comeOutOfSleepIfNeededLocked();
                }
            }
        } finally {
            Binder.restoreCallingIdentity(token);
@@ -9952,7 +9948,7 @@ public final class ActivityManagerService extends ActivityManagerNative
    }
    public boolean isSleeping() {
        return mSleeping && !mKeyguardWaitingForDraw;
        return mSleeping;
    }
    void goingToSleep() {
@@ -9973,7 +9969,6 @@ public final class ActivityManagerService extends ActivityManagerNative
        if (mWentToSleep && !mRunningVoice) {
            if (!mSleeping) {
                mSleeping = true;
                mKeyguardWaitingForDraw = false;
                mStackSupervisor.goingToSleepLocked();
                // Initialize the wake times of all processes.
@@ -10082,7 +10077,6 @@ public final class ActivityManagerService extends ActivityManagerNative
            try {
                if (DEBUG_LOCKSCREEN) logLockScreen(" shown=" + shown);
                mLockScreenShown = shown;
                mKeyguardWaitingForDraw = false;
                comeOutOfSleepIfNeededLocked();
            } finally {
                Binder.restoreCallingIdentity(ident);