Merge "[wm]: System ui visibility policy for freeform windowing"

This commit is contained in:
TreeHugger Robot
2019-10-18 10:51:10 +00:00
committed by Android (Google) Code Review

View File

@@ -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;