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

Commit 24883d5f authored by Jim Miller's avatar Jim Miller Committed by android-build-merger
Browse files

Allow sysui navigation to work when application occludes keyguard

am: 69c1241d

Change-Id: I533b955e86cab04d9b57c08d1f162671f374f5c2
parents 1e746a41 69c1241d
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -2731,7 +2731,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
    public void handleSystemNavigationKey(int key) {
        if (SPEW) Log.d(TAG, "handleSystemNavigationKey: " + key);
        if (!panelsEnabled() || !mKeyguardMonitor.isDeviceInteractive()
                || mKeyguardMonitor.isShowing()) {
                || mKeyguardMonitor.isShowing() && !mKeyguardMonitor.isOccluded()) {
            return;
        }

@@ -4351,7 +4351,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
        checkBarModes();
        updateMediaMetaData(false, mState != StatusBarState.KEYGUARD);
        mKeyguardMonitor.notifyKeyguardState(mStatusBarKeyguardViewManager.isShowing(),
                mStatusBarKeyguardViewManager.isSecure());
                mStatusBarKeyguardViewManager.isSecure(),
                mStatusBarKeyguardViewManager.isOccluded());
        Trace.endSection();
    }

+8 −2
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ public final class KeyguardMonitor extends KeyguardUpdateMonitorCallback {
    private int mCurrentUser;
    private boolean mShowing;
    private boolean mSecure;
    private boolean mOccluded;
    private boolean mCanSkipBouncer;

    private boolean mListening;
@@ -81,6 +82,10 @@ public final class KeyguardMonitor extends KeyguardUpdateMonitorCallback {
        return mSecure;
    }

    public boolean isOccluded() {
        return mOccluded;
    }

    public boolean canSkipBouncer() {
        return mCanSkipBouncer;
    }
@@ -99,10 +104,11 @@ public final class KeyguardMonitor extends KeyguardUpdateMonitorCallback {
        }
    }

    public void notifyKeyguardState(boolean showing, boolean secure) {
        if (mShowing == showing && mSecure == secure) return;
    public void notifyKeyguardState(boolean showing, boolean secure, boolean occluded) {
        if (mShowing == showing && mSecure == secure && mOccluded == occluded) return;
        mShowing = showing;
        mSecure = secure;
        mOccluded = occluded;
        notifyKeyguardChanged();
    }