diff options
author | Jorim Jaggi <jjaggi@google.com> | 2016-10-25 23:32:54 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-10-25 23:32:57 +0000 |
commit | 7e8fc052958b6d8137b067c183a19ab424916d86 (patch) | |
tree | 8e366a0e8227907bc3e2f56a5d241c5cc422242c | |
parent | db1fd054d2d5e7243f91f38625307c83b1a91e0b (diff) | |
parent | ec50931d884e0b8f13a5f3050d786275817a2d92 (diff) | |
download | base-nougat-mr1-dev.tar.gz |
Merge "Make sure to call dismissKeyguard after setOccluded" into nyc-mr1-devnougat-mr1-dev
-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; |