summaryrefslogtreecommitdiffstats
path: root/services/core
diff options
context:
space:
mode:
authorJohn Spurlock <jspurlock@google.com>2015-06-15 15:35:47 -0400
committerJohn Spurlock <jspurlock@google.com>2015-06-22 14:49:27 -0400
commit67a0f850a4d3358f3e1168bc84012edf96139ac2 (patch)
tree4e34dfe0fdbdc467e89bc25f3223bca652d6ea39 /services/core
parent76ac32389360695ede23a9403aeb19bd3746e74d (diff)
downloadframeworks_base-67a0f850a4d3358f3e1168bc84012edf96139ac2.zip
frameworks_base-67a0f850a4d3358f3e1168bc84012edf96139ac2.tar.gz
frameworks_base-67a0f850a4d3358f3e1168bc84012edf96139ac2.tar.bz2
Volume: Force focused state to disambig multiple sliders.
And fix volume policy so that a focused slider at the top of the screen does not cause the window to pan. Bug: 21476764 Change-Id: I4a52270ca5ecf9b9bd6e787ef580ecbd32e62625
Diffstat (limited to 'services/core')
-rw-r--r--services/core/java/com/android/server/policy/PhoneWindowManager.java12
1 files changed, 6 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 6fb9a5c..79fe29b 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -3918,7 +3918,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
// A window that has requested to fill the entire screen just
// gets everything, period.
if (attrs.type == TYPE_STATUS_BAR_PANEL
- || attrs.type == TYPE_STATUS_BAR_SUB_PANEL) {
+ || attrs.type == TYPE_STATUS_BAR_SUB_PANEL
+ || attrs.type == TYPE_VOLUME_OVERLAY) {
pf.left = df.left = of.left = cf.left = hasNavBar
? mDockLeft : mUnrestrictedScreenLeft;
pf.top = df.top = of.top = cf.top = mUnrestrictedScreenTop;
@@ -4033,9 +4034,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
"): normal window");
// Otherwise, a normal window must be placed inside the content
// of all screen decorations.
- if (attrs.type == TYPE_STATUS_BAR_PANEL) {
- // Status bar panels are the only windows who can go on top of
- // the status bar. They are protected by the STATUS_BAR_SERVICE
+ if (attrs.type == TYPE_STATUS_BAR_PANEL || attrs.type == TYPE_VOLUME_OVERLAY) {
+ // Status bar panels and the volume dialog are the only windows who can go on
+ // top of the status bar. They are protected by the STATUS_BAR_SERVICE
// permission, so they have the same privileges as the status
// bar itself.
pf.left = df.left = of.left = cf.left = mRestrictedScreenLeft;
@@ -4044,8 +4045,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
+ mRestrictedScreenWidth;
pf.bottom = df.bottom = of.bottom = cf.bottom = mRestrictedScreenTop
+ mRestrictedScreenHeight;
- } else if (attrs.type == TYPE_TOAST || attrs.type == TYPE_SYSTEM_ALERT
- || attrs.type == TYPE_VOLUME_OVERLAY) {
+ } else if (attrs.type == TYPE_TOAST || attrs.type == TYPE_SYSTEM_ALERT) {
// These dialogs are stable to interim decor changes.
pf.left = df.left = of.left = cf.left = mStableLeft;
pf.top = df.top = of.top = cf.top = mStableTop;