diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/DisplayPolicy.java | 17 | 
1 files changed, 8 insertions, 9 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java index 515d1f58d3ef..daec4d761742 100644 --- a/services/core/java/com/android/server/wm/DisplayPolicy.java +++ b/services/core/java/com/android/server/wm/DisplayPolicy.java @@ -3437,17 +3437,16 @@ public class DisplayPolicy {              }              final InsetsState requestedState = controlTarget.getRequestedInsetsState(); +            final InsetsSource nbSource = requestedState.peekSource(ITYPE_NAVIGATION_BAR); +            final InsetsSource sbSource = requestedState.peekSource(ITYPE_STATUS_BAR); +            final InsetsSource enbSource = requestedState.peekSource(ITYPE_EXTRA_NAVIGATION_BAR); +            final InsetsSource cbSource = requestedState.peekSource(ITYPE_CLIMATE_BAR);              final @InsetsType int restorePositionTypes = -                    (requestedState.getSourceOrDefaultVisibility(ITYPE_NAVIGATION_BAR) +                    (nbSource != null && nbSource.isVisible() ? Type.navigationBars() : 0) +                    | (sbSource != null && sbSource.isVisible() ? Type.statusBars() : 0) +                    | (mExtraNavBarAlt != null && enbSource != null && enbSource.isVisible()                              ? Type.navigationBars() : 0) -                    | (requestedState.getSourceOrDefaultVisibility(ITYPE_STATUS_BAR) -                            ? Type.statusBars() : 0) -                    | (mExtraNavBarAlt != null -                            && requestedState.getSourceOrDefaultVisibility( -                                    ITYPE_EXTRA_NAVIGATION_BAR) -                            ? Type.navigationBars() : 0) -                    | (mClimateBarAlt != null -                            && requestedState.getSourceOrDefaultVisibility(ITYPE_CLIMATE_BAR) +                    | (mClimateBarAlt != null && cbSource != null && cbSource.isVisible()                              ? Type.statusBars() : 0);              if (swipeTarget == mNavigationBar  |