diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/DisplayPolicy.java | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java index 150e26eefe4e..56bbc05d0ea1 100644 --- a/services/core/java/com/android/server/wm/DisplayPolicy.java +++ b/services/core/java/com/android/server/wm/DisplayPolicy.java @@ -2535,7 +2535,6 @@ public class DisplayPolicy { changes |= FINISH_LAYOUT_REDO_LAYOUT; } } else if (topIsFullscreen - && !mDisplayContent.isStackVisible(WINDOWING_MODE_FREEFORM) && !mDisplayContent.isStackVisible(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY)) { if (DEBUG_LAYOUT) Slog.v(TAG, "** HIDING status bar"); if (mStatusBarController.setBarShowingLw(false)) { @@ -2595,7 +2594,7 @@ public class DisplayPolicy { * window. */ private boolean topAppHidesStatusBar() { - if (mTopFullscreenOpaqueWindowState == null) { + if (mTopFullscreenOpaqueWindowState == null || mForceShowSystemBars) { return false; } final int fl = PolicyControl.getWindowFlags(null, @@ -3258,9 +3257,9 @@ public class DisplayPolicy { final boolean resizing = mDisplayContent.getDockedDividerController().isResizing(); // We need to force system bars when the docked stack is visible, when the freeform stack - // is visible but also when we are resizing for the transitions when docked stack + // is focused but also when we are resizing for the transitions when docked stack // visibility changes. - mForceShowSystemBars = dockedStackVisible || freeformStackVisible || resizing + mForceShowSystemBars = dockedStackVisible || win.inFreeformWindowingMode() || resizing || mForceShowSystemBarsFromExternal; final boolean forceOpaqueStatusBar = mForceShowSystemBars && !mForceStatusBarFromKeyguard; |