Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 414c1f0e authored by John Spurlock's avatar John Spurlock
Browse files

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
parent c3c4d36d
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -311,7 +311,6 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie
        lp.type = LayoutParams.TYPE_VOLUME_OVERLAY;
        lp.width = LayoutParams.WRAP_CONTENT;
        lp.height = LayoutParams.WRAP_CONTENT;
        lp.privateFlags |= LayoutParams.PRIVATE_FLAG_FORCE_SHOW_NAV_BAR;
        window.setAttributes(lp);
        window.addFlags(LayoutParams.FLAG_NOT_FOCUSABLE | LayoutParams.FLAG_NOT_TOUCH_MODAL
                | LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
+0 −7
Original line number Diff line number Diff line
@@ -1062,13 +1062,6 @@ public interface WindowManager extends ViewManager {
         * {@hide} */
        public static final int PRIVATE_FLAG_SHOW_FOR_ALL_USERS = 0x00000010;

        /**
         * Special flag for the volume overlay: force the window manager out of "hide nav bar"
         * mode while the window is on screen.
         *
         * {@hide} */
        public static final int PRIVATE_FLAG_FORCE_SHOW_NAV_BAR = 0x00000020;

        /**
         * Never animate position changes of the window.
         *
+7 −9
Original line number Diff line number Diff line
@@ -3260,8 +3260,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;
@@ -3365,14 +3366,11 @@ 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) {
        if (mTopFullscreenOpaqueWindowState == null
                && win.isVisibleLw() && attrs.type == TYPE_INPUT_METHOD) {
            mForcingShowNavBar = true;
            mForcingShowNavBarLayer = win.getSurfaceLayer();
        }
        }
        if (mTopFullscreenOpaqueWindowState == null &&
                win.isVisibleOrBehindKeyguardLw() && !win.isGoneForLayoutLw()) {
            if ((attrs.flags & FLAG_FORCE_NOT_FULLSCREEN) != 0) {