[RESTRICT AUTOMERGE] Allow bar to be transparent during animating.

When top window request fullscreen and device contain a real cutout
and the layoutInDisplayCutout is default or never, a letterbox will
be created for this activity, which cause
BarController#isTransparentAllowed return false so the status bar
cannot be transparent, the bar will shows a black background
during hidding animation.
A simple workaround is to allow the bar can be transparent
during hidding, since the surface of letterbox is not really
overlapped with bar because it's also animating.

Bug: 150048810
Test: No black background shows on status bar when opening
fullscreen app.
Test: atest DisplayPolicyTests

Change-Id: I2dd5b1fbad8e79ec80f799d63bba8824acc6a639
This commit is contained in:
wilsonshih
2020-03-13 16:55:42 +08:00
parent 6a1b278be8
commit 44f50d484d

View File

@@ -164,7 +164,8 @@ public class BarController {
}
boolean isTransparentAllowed(WindowState win) {
return win == null || !win.isLetterboxedOverlappingWith(mContentFrame);
return win == null || mState == StatusBarManager.WINDOW_STATE_HIDING
|| !win.isLetterboxedOverlappingWith(mContentFrame);
}
boolean setBarShowingLw(final boolean show) {