Fix FLAG_DISMISS_KEYGUARD not working

Fixes bug 13672528.

Change-Id: I0292aee51d5d8755bbae926e5f0e6af1e22107dc
This commit is contained in:
Craig Mautner
2014-04-01 12:05:11 -07:00
parent 86f9a93e20
commit 4bdab6bb4c

View File

@@ -2978,8 +2978,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
final boolean showWhenLocked = (attrs.flags & FLAG_SHOW_WHEN_LOCKED) != 0;
final boolean dismissKeyguard = (attrs.flags & FLAG_DISMISS_KEYGUARD) != 0;
if (appWindow) {
if (showWhenLocked) {
if (showWhenLocked || (dismissKeyguard && !isKeyguardSecure())) {
mAppsToBeHidden.remove(win.getAppToken());
} else {
mAppsToBeHidden.add(win.getAppToken());
@@ -2995,8 +2996,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
mHideLockScreen = true;
mForceStatusBarFromKeyguard = false;
}
if ((attrs.flags & FLAG_DISMISS_KEYGUARD) != 0
&& mDismissKeyguard == DISMISS_KEYGUARD_NONE) {
if (dismissKeyguard && 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;