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

Commit a7423ca9 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "WM: Fix seamless rotation with gesture navigation" into qt-dev

parents e18aadd6 d3b4086d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -3302,6 +3302,10 @@
         {@link Window#setEnsuringNavigationBarContrastWhenTransparent}. -->
    <bool name="config_navBarNeedsScrim">true</bool>

    <!-- Controls whether seamless rotation should be allowed even though the navbar can move
         (which normally prevents seamless rotation). -->
    <bool name="config_allowSeamlessRotationDespiteNavBarMoving">false</bool>

    <!-- Default insets [LEFT/RIGHTxTOP/BOTTOM] from the screen edge for picture-in-picture windows.
         These values are in DPs and will be converted to pixel sizes internally. -->
    <string translatable="false" name="config_defaultPictureInPictureScreenEdgeInsets">16x16</string>
+1 −0
Original line number Diff line number Diff line
@@ -2875,6 +2875,7 @@
  <java-symbol type="bool" name="config_navBarTapThrough" />
  <java-symbol type="bool" name="config_navBarAlwaysShowOnSideEdgeGesture" />
  <java-symbol type="bool" name="config_navBarNeedsScrim" />
  <java-symbol type="bool" name="config_allowSeamlessRotationDespiteNavBarMoving" />
  <java-symbol type="dimen" name="config_backGestureInset" />
  <java-symbol type="color" name="system_bar_background_semi_transparent" />

+4 −0
Original line number Diff line number Diff line
@@ -37,6 +37,10 @@
     {@link Window#setEnsuringNavigationBarContrastWhenTransparent}. -->
    <bool name="config_navBarNeedsScrim">false</bool>

    <!-- Controls whether seamless rotation should be allowed even though the navbar can move
         (which normally prevents seamless rotation). -->
    <bool name="config_allowSeamlessRotationDespiteNavBarMoving">true</bool>

    <!-- Controls whether the side edge gestures can always trigger the transient nav bar to
         show. -->
    <bool name="config_navBarAlwaysShowOnSideEdgeGesture">true</bool>
+6 −2
Original line number Diff line number Diff line
@@ -255,6 +255,7 @@ public class DisplayPolicy {
    private volatile boolean mNavigationBarCanMove;
    private volatile boolean mNavigationBarLetsThroughTaps;
    private volatile boolean mNavigationBarAlwaysShowOnSideGesture;
    private volatile boolean mAllowSeamlessRotationDespiteNavBarMoving;

    // Written by vr manager thread, only read in this class.
    private volatile boolean mPersistentVrModeEnabled;
@@ -2726,6 +2727,8 @@ public class DisplayPolicy {
        mNavigationBarCanMove =
                mDisplayContent.mBaseDisplayWidth != mDisplayContent.mBaseDisplayHeight
                        && res.getBoolean(R.bool.config_navBarCanMove);
        mAllowSeamlessRotationDespiteNavBarMoving =
                res.getBoolean(R.bool.config_allowSeamlessRotationDespiteNavBarMoving);
    }

    /**
@@ -3508,8 +3511,9 @@ public class DisplayPolicy {
        }
        // If the navigation bar can't change sides, then it will
        // jump when we change orientations and we don't rotate
        // seamlessly.
        if (!navigationBarCanMove()) {
        // seamlessly - unless that is allowed, eg. with gesture
        // navigation where the navbar is low-profile enough that this isn't very noticeable.
        if (!navigationBarCanMove() && !mAllowSeamlessRotationDespiteNavBarMoving) {
            return false;
        }