From ca0a124da0aaa3383b7648e3114a7be277800c3a Mon Sep 17 00:00:00 2001 From: Craig Mautner Date: Tue, 2 Dec 2014 12:25:14 -0800 Subject: Dismiss insecure keyguards if FLAG_SHOW_WHEN_LOCKED Windows that had FLAG_SHOW_WHEN_LOCKED and FLAG_DISMISS_KEYGUARD set would ignore the FLAG_DISMISS_KEYGUARD if the lockscreen was insecure. This change adds a test for insecure keyguards when the two flags are set together. Fixes bug 18563298. Change-Id: I3027c7ec476d3ac15978f7e6a78b3c2050cbab02 --- .../com/android/internal/policy/impl/PhoneWindowManager.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'policy') diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 1271737..ca0d481 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -4054,10 +4054,14 @@ public class PhoneWindowManager implements WindowManagerPolicy { // Remove any previous windows with the same appToken. mAppsToBeHidden.remove(appToken); mAppsThatDismissKeyguard.remove(appToken); - if (mAppsToBeHidden.isEmpty() && mKeyguardSecureIncludingHidden) { - mWinShowWhenLocked = win; - mHideLockScreen = true; - mForceStatusBarFromKeyguard = false; + if (mAppsToBeHidden.isEmpty()) { + if (mKeyguardSecureIncludingHidden) { + mWinShowWhenLocked = win; + mHideLockScreen = true; + mForceStatusBarFromKeyguard = false; + } else if (dismissKeyguard && !mKeyguardSecure) { + mAppsThatDismissKeyguard.add(appToken); + } } } else if (dismissKeyguard) { if (mKeyguardSecure) { -- cgit v1.1