summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Daniel Sandler <dsandler@android.com> 2012-08-10 10:24:05 -0400
committer Daniel Sandler <dsandler@android.com> 2012-08-11 00:55:14 -0400
commitf7178d3cadfeb0101491eeea7d7f3b0d7c26dbe6 (patch)
tree110219a6f0b8c28d0c0e4e73805c3e1102172c8d
parent75f0fac91bd7fa67fa76cfdd4e163b9f35be0432 (diff)
Allow the secure keyguard to engage behind Dreams.
TYPE_DREAM windows are now considered for relevant window flags alongside application windows. Bug: 6961616 Change-Id: Idee3303276a8b69c7f07de1d6acdce64c6e1b863
-rw-r--r--core/java/android/service/dreams/Dream.java5
-rwxr-xr-xpolicy/src/com/android/internal/policy/impl/PhoneWindowManager.java4
2 files changed, 7 insertions, 2 deletions
diff --git a/core/java/android/service/dreams/Dream.java b/core/java/android/service/dreams/Dream.java
index 5a3fad6de15f..69db97c29562 100644
--- a/core/java/android/service/dreams/Dream.java
+++ b/core/java/android/service/dreams/Dream.java
@@ -346,6 +346,11 @@ public class Dream extends Service implements Window.Callback {
lp.type = WindowManager.LayoutParams.TYPE_DREAM;
lp.token = windowToken;
lp.windowAnimations = com.android.internal.R.style.Animation_Dream;
+ lp.flags |= ( WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
+ | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
+ | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
+ );
+ mWindow.setAttributes(lp);
//WindowManagerImpl.getDefault().addView(mWindow.getDecorView(), lp);
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index 5d4159a57831..8c627a3d6f3b 100755
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -2854,8 +2854,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
if ((attrs.flags & FLAG_FORCE_NOT_FULLSCREEN) != 0) {
mForceStatusBar = true;
}
- if (attrs.type >= FIRST_APPLICATION_WINDOW
- && attrs.type <= LAST_APPLICATION_WINDOW
+ if (((attrs.type >= FIRST_APPLICATION_WINDOW && attrs.type <= LAST_APPLICATION_WINDOW)
+ || attrs.type == TYPE_DREAM)
&& attrs.x == 0 && attrs.y == 0
&& attrs.width == WindowManager.LayoutParams.MATCH_PARENT
&& attrs.height == WindowManager.LayoutParams.MATCH_PARENT) {