summaryrefslogtreecommitdiffstats
path: root/policy
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2014-03-03 13:26:03 -0800
committerCraig Mautner <cmautner@google.com>2014-03-14 16:20:00 -0700
commitda09ae385af24dfe77addfbe6833d9c13f8886af (patch)
tree7dd77c97380a84a06d27cee5da58c602cda4982b /policy
parent9428eb82c0cadf897e47475e616d3927cb2524e7 (diff)
downloadframeworks_base-da09ae385af24dfe77addfbe6833d9c13f8886af.zip
frameworks_base-da09ae385af24dfe77addfbe6833d9c13f8886af.tar.gz
frameworks_base-da09ae385af24dfe77addfbe6833d9c13f8886af.tar.bz2
Show the keyguard if unsecure window on top
When traversing windows save the fact that windows above the topmost fullscreen window do not hide the lockscreen. If there is such a window don't show it. (cherry picked from commit ab55e524b89c13082193940a5bf8480a2c2522d9) Fixes bug 13225149. Change-Id: Ib6f33cbcfb2f60d8957a9184729ecdec80c6a236
Diffstat (limited to 'policy')
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindowManager.java28
1 files changed, 16 insertions, 12 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index 15a68ef..1cca164 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -3417,18 +3417,22 @@ public class PhoneWindowManager implements WindowManagerPolicy {
&& attrs.height == WindowManager.LayoutParams.MATCH_PARENT) {
if (DEBUG_LAYOUT) Slog.v(TAG, "Fullscreen window: " + win);
mTopFullscreenOpaqueWindowState = win;
- if (showWhenLocked && !mHideWindowBehindKeyguard) {
- if (DEBUG_LAYOUT) Slog.v(TAG, "Setting mHideLockScreen to true by win " + win);
- mHideLockScreen = true;
- mForceStatusBarFromKeyguard = false;
- }
- if ((fl & FLAG_DISMISS_KEYGUARD) != 0
- && 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;
- mWinDismissingKeyguard = win;
- mForceStatusBarFromKeyguard = mShowingLockscreen && isKeyguardSecure();
+ if (!mHideWindowBehindKeyguard) {
+ if (showWhenLocked) {
+ if (DEBUG_LAYOUT) Slog.v(TAG,
+ "Setting mHideLockScreen to true by win " + win);
+ mHideLockScreen = true;
+ mForceStatusBarFromKeyguard = false;
+ }
+ if ((fl & FLAG_DISMISS_KEYGUARD) != 0
+ && 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;
+ mWinDismissingKeyguard = win;
+ mForceStatusBarFromKeyguard = mShowingLockscreen && isKeyguardSecure();
+ }
}
if ((fl & FLAG_ALLOW_LOCK_WHILE_SCREEN_ON) != 0) {
mAllowLockscreenWhenOn = true;