summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Tiger Huang <tigerhuang@google.com> 2020-11-16 03:43:42 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-11-16 03:43:42 +0000
commit7843f4925edcb5ef4401643b1b8cdbcad6911afc (patch)
treeaa22d72f5943ff8f5c65a2df82fb378d07404215
parent518d35c01746dc634434bccaf00111da208a4e1c (diff)
parenta496e0319479e2b8081f5808f3d31b858ef8f037 (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.java17
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