From ca4d040342a70d42d6dd6f15361931c054275804 Mon Sep 17 00:00:00 2001 From: John Spurlock Date: Wed, 4 Dec 2013 13:47:36 -0500 Subject: Volume panel should not clear system ui flags. Remove private WM flag (used only by the volume panel) to force the clearable system UI flags clear. Instead, always lay out the volume panel as if the bars are visible, as we do for system dialogs - and don't clear the flags. Reverts part of I25f29af5b6518aba695b64a75977ae240b742118 Bug:11986621 Change-Id: I842729d729d2a6eb2a687d0b930ddb160c6a1b57 --- .../android/internal/policy/impl/PhoneWindowManager.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'policy/src/com') diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index c33bd35..d05f052 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -3277,8 +3277,9 @@ 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) { - // Toasts are stable to interim decor changes. + } else if (attrs.type == TYPE_TOAST || attrs.type == TYPE_SYSTEM_ALERT + || attrs.type == TYPE_VOLUME_OVERLAY) { + // 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; pf.right = df.right = of.right = cf.right = mStableRight; @@ -3382,13 +3383,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { WindowManager.LayoutParams attrs) { if (DEBUG_LAYOUT) Slog.i(TAG, "Win " + win + ": isVisibleOrBehindKeyguardLw=" + win.isVisibleOrBehindKeyguardLw()); - if (mTopFullscreenOpaqueWindowState == null && (win.getAttrs().privateFlags - &WindowManager.LayoutParams.PRIVATE_FLAG_FORCE_SHOW_NAV_BAR) != 0 - || (win.isVisibleLw() && attrs.type == TYPE_INPUT_METHOD)) { - if (mForcingShowNavBarLayer < 0) { - mForcingShowNavBar = true; - mForcingShowNavBarLayer = win.getSurfaceLayer(); - } + if (mTopFullscreenOpaqueWindowState == null + && win.isVisibleLw() && attrs.type == TYPE_INPUT_METHOD) { + mForcingShowNavBar = true; + mForcingShowNavBarLayer = win.getSurfaceLayer(); } if (mTopFullscreenOpaqueWindowState == null && win.isVisibleOrBehindKeyguardLw() && !win.isGoneForLayoutLw()) { -- cgit v1.1