summaryrefslogtreecommitdiffstats
path: root/policy
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2014-12-02 12:25:14 -0800
committerCraig Mautner <cmautner@google.com>2014-12-02 12:43:18 -0800
commitca0a124da0aaa3383b7648e3114a7be277800c3a (patch)
tree3c256be3da1c0689b1e244a3f06c11a8d8bbeb9e /policy
parentfcae79f65d60069f75c4db92a68d56c9eb8b5213 (diff)
downloadframeworks_base-ca0a124da0aaa3383b7648e3114a7be277800c3a.zip
frameworks_base-ca0a124da0aaa3383b7648e3114a7be277800c3a.tar.gz
frameworks_base-ca0a124da0aaa3383b7648e3114a7be277800c3a.tar.bz2
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
Diffstat (limited to 'policy')
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindowManager.java12
1 files changed, 8 insertions, 4 deletions
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) {