diff options
author | Jorim Jaggi <jjaggi@google.com> | 2016-10-24 15:40:06 -0700 |
---|---|---|
committer | Jorim Jaggi <jjaggi@google.com> | 2016-10-24 15:40:06 -0700 |
commit | ec50931d884e0b8f13a5f3050d786275817a2d92 (patch) | |
tree | 418e82f8e9eb67c44d571cda5226c044d0a43dba | |
parent | 9cac4568e50687e9c0f85dedb2d9ee6a36bd0ff8 (diff) | |
download | base-ec50931d884e0b8f13a5f3050d786275817a2d92.tar.gz |
Make sure to call dismissKeyguard after setOccluded
If we call it before, SystemUI will not dismiss the Keyguard as
it is still occluded in that state.
Change-Id: I15cf9cc43b9a2b747bfd224a6dfbd769eee19d69
Fixes: 32202560
-rw-r--r-- | services/core/java/com/android/server/policy/PhoneWindowManager.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index f027b941454d..74e720f360ac 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -5293,18 +5293,15 @@ public class PhoneWindowManager implements WindowManagerPolicy { } } else if (mDismissKeyguard != DISMISS_KEYGUARD_NONE) { mKeyguardHidden = false; - boolean willDismiss = false; + boolean dismissKeyguard = false; + final boolean trusted = mKeyguardDelegate.isTrusted(); if (mDismissKeyguard == DISMISS_KEYGUARD_START) { - final boolean trusted = mKeyguardDelegate.isTrusted(); - willDismiss = trusted && mKeyguardOccluded && mKeyguardDelegate != null - && mKeyguardDelegate.isShowing(); + final boolean willDismiss = trusted && mKeyguardOccluded + && mKeyguardDelegate != null && mKeyguardDelegate.isShowing(); if (willDismiss) { mCurrentlyDismissingKeyguard = true; } - - // Only launch the next keyguard unlock window once per window. - mHandler.post(() -> mKeyguardDelegate.dismiss( - trusted /* allowWhileOccluded */)); + dismissKeyguard = true; } // If we are currently dismissing Keyguard, there is no need to unocclude it. @@ -5315,6 +5312,12 @@ public class PhoneWindowManager implements WindowManagerPolicy { | FINISH_LAYOUT_REDO_WALLPAPER; } } + + if (dismissKeyguard) { + // Only launch the next keyguard unlock window once per window. + mHandler.post(() -> mKeyguardDelegate.dismiss( + trusted /* allowWhileOccluded */)); + } } else { mWinDismissingKeyguard = null; mSecureDismissingKeyguard = false; |