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
This commit is contained in:
Jorim Jaggi
2016-10-24 15:40:06 -07:00
parent 9cac4568e5
commit ec50931d88

View File

@@ -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;