diff options
| author | 2020-11-16 03:43:42 +0000 | |
|---|---|---|
| committer | 2020-11-16 03:43:42 +0000 | |
| commit | 7843f4925edcb5ef4401643b1b8cdbcad6911afc (patch) | |
| tree | aa22d72f5943ff8f5c65a2df82fb378d07404215 | |
| parent | 518d35c01746dc634434bccaf00111da208a4e1c (diff) | |
| parent | a496e0319479e2b8081f5808f3d31b858ef8f037 (diff) | |
DO NOT MERGE: Only restore the positions of types which are controlled am: a496e03194
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12967036
Change-Id: If603ca5fe0c6e7b1ba8e19868875a9390a28d89a
| -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 |