summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlawale Ogunwale <ogunwale@google.com>2015-06-02 17:51:15 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-02 17:51:22 +0000
commit5b9b66c73c80697c1d3694a2d4ee975e409bd89d (patch)
tree3ee8bae60e7beb11479273f1c6ad3ea3b5c9f7f5
parentcdc7bf10dd19d1fa233d51ba46151310f4e0fd3f (diff)
parente785ffa059dcb3bcff242ae4c89cdb43b081dcb2 (diff)
downloadframeworks_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.java13
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