summaryrefslogtreecommitdiffstats
path: root/policy
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2011-09-09 11:08:21 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-09-09 11:08:21 -0700
commitdeb5882b2efb9c147eb70bae75e6069c71ecb9a2 (patch)
tree2c7717c3a32368c02152a7e217c0b40946b21e60 /policy
parente9ee5fef97de10922240a8c41acb5fb938e3a979 (diff)
parent1d50a2c0682926f783f9acab5c4bdeca1d3cb9cd (diff)
downloadframeworks_base-deb5882b2efb9c147eb70bae75e6069c71ecb9a2.zip
frameworks_base-deb5882b2efb9c147eb70bae75e6069c71ecb9a2.tar.gz
frameworks_base-deb5882b2efb9c147eb70bae75e6069c71ecb9a2.tar.bz2
am 1d50a2c0: Merge "Adjust layers for system overlays."
* commit '1d50a2c0682926f783f9acab5c4bdeca1d3cb9cd': Adjust layers for system overlays.
Diffstat (limited to 'policy')
-rwxr-xr-xpolicy/src/com/android/internal/policy/impl/PhoneWindowManager.java28
1 files changed, 18 insertions, 10 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index c9b552b..b58147b 100755
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -189,16 +189,16 @@ public class PhoneWindowManager implements WindowManagerPolicy {
static final int STATUS_BAR_SUB_PANEL_LAYER = 14;
static final int STATUS_BAR_LAYER = 15;
static final int STATUS_BAR_PANEL_LAYER = 16;
- // the navigation bar, if available, shows atop most things
- static final int NAVIGATION_BAR_LAYER = 17;
// the on-screen volume indicator and controller shown when the user
// changes the device volume
- static final int VOLUME_OVERLAY_LAYER = 18;
+ static final int VOLUME_OVERLAY_LAYER = 17;
+ // things in here CAN NOT take focus, but are shown on top of everything else.
+ static final int SYSTEM_OVERLAY_LAYER = 18;
+ // the navigation bar, if available, shows atop most things
+ static final int NAVIGATION_BAR_LAYER = 19;
// the drag layer: input for drag-and-drop is associated with this window,
// which sits above all other focusable windows
- static final int DRAG_LAYER = 19;
- // things in here CAN NOT take focus, but are shown on top of everything else.
- static final int SYSTEM_OVERLAY_LAYER = 20;
+ static final int DRAG_LAYER = 20;
static final int SECURE_SYSTEM_OVERLAY_LAYER = 21;
static final int BOOT_PROGRESS_LAYER = 22;
// the (mouse) pointer layer
@@ -897,10 +897,10 @@ public class PhoneWindowManager implements WindowManagerPolicy {
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT);
lp.type = WindowManager.LayoutParams.TYPE_SECURE_SYSTEM_OVERLAY;
- lp.flags =
- WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE|
- WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|
- WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
+ lp.flags = WindowManager.LayoutParams.FLAG_FULLSCREEN
+ | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
+ | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
+ | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
lp.format = PixelFormat.TRANSLUCENT;
lp.setTitle("PointerLocation");
WindowManager wm = (WindowManager)
@@ -998,6 +998,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
// These types of windows can't receive input events.
attrs.flags |= WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
+ attrs.flags &= ~WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
break;
}
}
@@ -1996,6 +1997,13 @@ public class PhoneWindowManager implements WindowManagerPolicy {
"Laying out navigation bar window: (%d,%d - %d,%d)",
pf.left, pf.top, pf.right, pf.bottom));
}
+ } else if (attrs.type == TYPE_SECURE_SYSTEM_OVERLAY
+ && ((fl & FLAG_FULLSCREEN) != 0)) {
+ // Fullscreen secure system overlays get what they ask for.
+ pf.left = df.left = mUnrestrictedScreenLeft;
+ pf.top = df.top = mUnrestrictedScreenTop;
+ pf.right = df.right = mUnrestrictedScreenLeft+mUnrestrictedScreenWidth;
+ pf.bottom = df.bottom = mUnrestrictedScreenTop+mUnrestrictedScreenHeight;
} else {
pf.left = df.left = cf.left = mRestrictedScreenLeft;
pf.top = df.top = cf.top = mRestrictedScreenTop;