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

Commit 6aea1154 authored by Mike Lockwood's avatar Mike Lockwood
Browse files

DO NOT MERGE: KeyguardManager: Add isKeyguardLocked() and isKeyguardSecure()



BUG: 3402847

Change-Id: I7cb199763e8d5386914b4c2173c9e1579b08674c
Signed-off-by: default avatarMike Lockwood <lockwood@android.com>
parent 2332cd8c
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -116,6 +116,40 @@ public class KeyguardManager {
        return new KeyguardLock(tag);
    }

    /**
     * isKeyguardLocked
     *
     * Return whether the keyguard is currently locked.
     *
     * @return true if in keyguard is locked.
     *
     * @hide
     */
    public boolean isKeyguardLocked() {
        try {
            return mWM.isKeyguardSecure();
        } catch (RemoteException ex) {
            return false;
        }
    }

    /**
     * isKeyguardSecure
     *
     * Return whether the keyguard requires a password to unlock.
     *
     * @return true if in keyguard is secure.
     *
     * @hide
     */
    public boolean isKeyguardSecure() {
        try {
            return mWM.isKeyguardSecure();
        } catch (RemoteException ex) {
            return false;
        }
    }

    /**
     * If keyguard screen is showing or in restricted key input mode (i.e. in
     * keyguard password emergency screen). When in such mode, certain keys,
+2 −0
Original line number Diff line number Diff line
@@ -100,6 +100,8 @@ interface IWindowManager
    void disableKeyguard(IBinder token, String tag);
    void reenableKeyguard(IBinder token);
    void exitKeyguardSecurely(IOnKeyguardExitResult callback);
    boolean isKeyguardLocked();
    boolean isKeyguardSecure();
    boolean inKeyguardRestrictedInputMode();

    void closeSystemDialogs(String reason);
+18 −0
Original line number Diff line number Diff line
@@ -753,6 +753,24 @@ public interface WindowManagerPolicy {
     */
    void exitKeyguardSecurely(OnKeyguardExitResult callback);

    /**
     * isKeyguardLocked
     *
     * Return whether the keyguard is currently locked.
     *
     * @return true if in keyguard is locked.
     */
    public boolean isKeyguardLocked();

    /**
     * isKeyguardSecure
     *
     * Return whether the keyguard requires a password to unlock.
     *
     * @return true if in keyguard is secure.
     */
    public boolean isKeyguardSecure();

    /**
     * inKeyguardRestrictedKeyInputMode
     *
+11 −0
Original line number Diff line number Diff line
@@ -2430,6 +2430,17 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        return mKeyguardMediator.isShowingAndNotHidden();
    }


    /** {@inheritDoc} */
    public boolean isKeyguardLocked() {
        return keyguardOn();
    }

    /** {@inheritDoc} */
    public boolean isKeyguardSecure() {
        return mKeyguardMediator.isSecure();
    }

    /** {@inheritDoc} */
    public boolean inKeyguardRestrictedKeyInputMode() {
        return mKeyguardMediator.isInputRestricted();
+8 −0
Original line number Diff line number Diff line
@@ -4746,6 +4746,14 @@ public class WindowManagerService extends IWindowManager.Stub
        return mPolicy.inKeyguardRestrictedKeyInputMode();
    }

    public boolean isKeyguardLocked() {
        return mPolicy.isKeyguardLocked();
    }

    public boolean isKeyguardSecure() {
        return mPolicy.isKeyguardSecure();
    }

    public void closeSystemDialogs(String reason) {
        synchronized(mWindowMap) {
            for (int i=mWindows.size()-1; i>=0; i--) {