diff options
author | John Spurlock <jspurlock@google.com> | 2015-06-15 15:35:47 -0400 |
---|---|---|
committer | John Spurlock <jspurlock@google.com> | 2015-06-22 14:49:27 -0400 |
commit | 67a0f850a4d3358f3e1168bc84012edf96139ac2 (patch) | |
tree | 4e34dfe0fdbdc467e89bc25f3223bca652d6ea39 /services/core | |
parent | 76ac32389360695ede23a9403aeb19bd3746e74d (diff) | |
download | frameworks_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.java | 12 |
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; |