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

Commit 93c736b3 authored by Jorim Jaggi's avatar Jorim Jaggi Committed by Android Git Automerger
Browse files

am 613fffcd: Merge "Revert "Revert "Attempt to fix keyguard missing bug""" into lmp-mr1-dev

* commit '613fffcd':
  Revert "Revert "Attempt to fix keyguard missing bug""
parents 2fab5307 613fffcd
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -2165,7 +2165,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                }
                mStatusBar = win;
                mStatusBarController.setWindow(win);
                mKeyguardDelegate.hideScrim();
                break;
            case TYPE_NAVIGATION_BAR:
                mContext.enforceCallingOrSelfPermission(
+14 −6
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ public class KeyguardServiceDelegate {
    private final Context mContext;
    private final View mScrim; // shown if keyguard crashes
    private final KeyguardState mKeyguardState = new KeyguardState();
    private ShowListener mShowListenerWhenConnect;

    /* package */ static final class KeyguardState {
        KeyguardState() {
@@ -46,6 +47,7 @@ public class KeyguardServiceDelegate {
            showing = true;
            showingAndNotOccluded = true;
            secure = true;
            deviceHasKeyguard = true;
        }
        boolean showing;
        boolean showingAndNotOccluded;
@@ -54,6 +56,7 @@ public class KeyguardServiceDelegate {
        boolean secure;
        boolean dreaming;
        boolean systemIsReady;
        boolean deviceHasKeyguard;
        public boolean enabled;
        public boolean dismissable;
        public int offReason;
@@ -111,10 +114,12 @@ public class KeyguardServiceDelegate {
        intent.setClassName(KEYGUARD_PACKAGE, KEYGUARD_CLASS);
        if (!context.bindServiceAsUser(intent, mKeyguardConnection,
                Context.BIND_AUTO_CREATE, UserHandle.OWNER)) {
            if (DEBUG) Log.v(TAG, "*** Keyguard: can't bind to " + KEYGUARD_CLASS);
            Log.v(TAG, "*** Keyguard: can't bind to " + KEYGUARD_CLASS);
            mKeyguardState.showing = false;
            mKeyguardState.showingAndNotOccluded = false;
            mKeyguardState.secure = false;
            mKeyguardState.deviceHasKeyguard = false;
            hideScrim();
        } else {
            if (DEBUG) Log.v(TAG, "*** Keyguard started");
        }
@@ -130,7 +135,9 @@ public class KeyguardServiceDelegate {
                // If the system is ready, it means keyguard crashed and restarted.
                mKeyguardService.onSystemReady();
                // This is used to hide the scrim once keyguard displays.
                mKeyguardService.onScreenTurnedOn(new KeyguardShowDelegate(null));
                mKeyguardService.onScreenTurnedOn(new KeyguardShowDelegate(
                        mShowListenerWhenConnect));
                mShowListenerWhenConnect = null;
            }
            if (mKeyguardState.bootCompleted) {
                mKeyguardService.onBootCompleted();
@@ -212,9 +219,10 @@ public class KeyguardServiceDelegate {
        } else {
            // try again when we establish a connection
            Slog.w(TAG, "onScreenTurnedOn(): no keyguard service!");
            // This shouldn't happen, but if it does, invoke the listener immediately
            // to avoid a dark screen...
            showListener.onShown(null);
            // This shouldn't happen, but if it does, show the scrim immediately and
            // invoke the listener's callback after the service actually connects.
            mShowListenerWhenConnect = showListener;
            showScrim();
        }
        mKeyguardState.screenIsOn = true;
    }
@@ -280,7 +288,6 @@ public class KeyguardServiceDelegate {
        lp.setTitle("KeyguardScrim");
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        wm.addView(view, lp);
        view.setVisibility(View.GONE);
        // Disable pretty much everything in statusbar until keyguard comes back and we know
        // the state of the world.
        view.setSystemUiVisibility(View.STATUS_BAR_DISABLE_HOME
@@ -292,6 +299,7 @@ public class KeyguardServiceDelegate {
    }

    public void showScrim() {
        if (!mKeyguardState.deviceHasKeyguard) return;
        mScrim.post(new Runnable() {
            @Override
            public void run() {