diff options
| author | Olawale Ogunwale <ogunwale@google.com> | 2015-06-02 17:51:15 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-06-02 17:51:22 +0000 |
| commit | 5b9b66c73c80697c1d3694a2d4ee975e409bd89d (patch) | |
| tree | 3ee8bae60e7beb11479273f1c6ad3ea3b5c9f7f5 | |
| parent | cdc7bf10dd19d1fa233d51ba46151310f4e0fd3f (diff) | |
| parent | e785ffa059dcb3bcff242ae4c89cdb43b081dcb2 (diff) | |
| download | frameworks_base-5b9b66c73c80697c1d3694a2d4ee975e409bd89d.zip frameworks_base-5b9b66c73c80697c1d3694a2d4ee975e409bd89d.tar.gz frameworks_base-5b9b66c73c80697c1d3694a2d4ee975e409bd89d.tar.bz2 | |
Merge "Should reset mDismissKeyguard on keyguard secure change" into mnc-dev
| -rw-r--r-- | services/core/java/com/android/server/policy/PhoneWindowManager.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 7bd5b78..c8397e2 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -497,6 +497,12 @@ public class PhoneWindowManager implements WindowManagerPolicy { * be done once per window. */ private WindowState mWinDismissingKeyguard; + /** When window is currently dismissing the keyguard, dismissing the keyguard must handle + * the keygaurd secure state change instantly case, e.g. the use case of inserting a PIN + * lock SIM card. This variable is used to record the previous keyguard secure state for + * monitoring secure state change on window dismissing keyguard. */ + private boolean mSecureDismissingKeyguard; + /** The window that is currently showing "over" the keyguard. If there is an app window * belonging to another app on top of this the keyguard shows. If there is a fullscreen * app window under this, still dismiss the keyguard but don't show the app underneath. Show @@ -4272,9 +4278,11 @@ public class PhoneWindowManager implements WindowManagerPolicy { mDismissKeyguard == DISMISS_KEYGUARD_NONE) { if (DEBUG_LAYOUT) Slog.v(TAG, "Setting mDismissKeyguard true by win " + win); - mDismissKeyguard = mWinDismissingKeyguard == win ? - DISMISS_KEYGUARD_CONTINUE : DISMISS_KEYGUARD_START; + mDismissKeyguard = (mWinDismissingKeyguard == win + && mSecureDismissingKeyguard == mKeyguardSecure) + ? DISMISS_KEYGUARD_CONTINUE : DISMISS_KEYGUARD_START; mWinDismissingKeyguard = win; + mSecureDismissingKeyguard = mKeyguardSecure; mForceStatusBarFromKeyguard = mShowingLockscreen && mKeyguardSecure; } else if (mAppsToBeHidden.isEmpty() && showWhenLocked) { if (DEBUG_LAYOUT) Slog.v(TAG, @@ -4460,6 +4468,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { } } else { mWinDismissingKeyguard = null; + mSecureDismissingKeyguard = false; mKeyguardHidden = false; if (setKeyguardOccludedLw(false)) { changes |= FINISH_LAYOUT_REDO_LAYOUT |
