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 showWhenLocked = (attrs.flags & FLAG_SHOW_WHEN_LOCKED) != 0;
final boolean dismissKeyguard = (attrs.flags & FLAG_DISMISS_KEYGUARD) != 0;
if (appWindow) { if (appWindow) {
if (showWhenLocked) { if (showWhenLocked || (dismissKeyguard && !isKeyguardSecure())) {
mAppsToBeHidden.remove(win.getAppToken()); mAppsToBeHidden.remove(win.getAppToken());
} else { } else {
mAppsToBeHidden.add(win.getAppToken()); mAppsToBeHidden.add(win.getAppToken());
@@ -2995,8 +2996,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
mHideLockScreen = true; mHideLockScreen = true;
mForceStatusBarFromKeyguard = false; mForceStatusBarFromKeyguard = false;
} }
if ((attrs.flags & FLAG_DISMISS_KEYGUARD) != 0 if (dismissKeyguard && mDismissKeyguard == DISMISS_KEYGUARD_NONE) {
&& mDismissKeyguard == DISMISS_KEYGUARD_NONE) {
if (DEBUG_LAYOUT) Slog.v(TAG, "Setting mDismissKeyguard true by win " + win); if (DEBUG_LAYOUT) Slog.v(TAG, "Setting mDismissKeyguard true by win " + win);
mDismissKeyguard = mWinDismissingKeyguard == win ? mDismissKeyguard = mWinDismissingKeyguard == win ?
DISMISS_KEYGUARD_CONTINUE : DISMISS_KEYGUARD_START; DISMISS_KEYGUARD_CONTINUE : DISMISS_KEYGUARD_START;