Merge "Update condition for when to show letterbox" into tm-qpr-dev
This commit is contained in:
@@ -1000,7 +1000,7 @@ final class LetterboxUiController {
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
boolean shouldShowLetterboxUi(WindowState mainWindow) {
|
boolean shouldShowLetterboxUi(WindowState mainWindow) {
|
||||||
return isSurfaceReadyAndVisible(mainWindow) && mainWindow.areAppWindowBoundsLetterboxed()
|
return isSurfaceVisible(mainWindow) && mainWindow.areAppWindowBoundsLetterboxed()
|
||||||
// Check for FLAG_SHOW_WALLPAPER explicitly instead of using
|
// Check for FLAG_SHOW_WALLPAPER explicitly instead of using
|
||||||
// WindowContainer#showWallpaper because the later will return true when this
|
// WindowContainer#showWallpaper because the later will return true when this
|
||||||
// activity is using blurred wallpaper for letterbox background.
|
// activity is using blurred wallpaper for letterbox background.
|
||||||
@@ -1008,11 +1008,8 @@ final class LetterboxUiController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
boolean isSurfaceReadyAndVisible(WindowState mainWindow) {
|
boolean isSurfaceVisible(WindowState mainWindow) {
|
||||||
boolean surfaceReady = mainWindow.isDrawn() // Regular case
|
return mainWindow.isOnScreen() && (mActivityRecord.isVisible()
|
||||||
// Waiting for relayoutWindow to call preserveSurface
|
|
||||||
|| mainWindow.isDragResizeChanged();
|
|
||||||
return surfaceReady && (mActivityRecord.isVisible()
|
|
||||||
|| mActivityRecord.isVisibleRequested());
|
|| mActivityRecord.isVisibleRequested());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -494,6 +494,7 @@ public class LetterboxUiControllerTest extends WindowTestsBase {
|
|||||||
doReturn(insets).when(mainWindow).getInsetsState();
|
doReturn(insets).when(mainWindow).getInsetsState();
|
||||||
doReturn(attrs).when(mainWindow).getAttrs();
|
doReturn(attrs).when(mainWindow).getAttrs();
|
||||||
doReturn(true).when(mainWindow).isDrawn();
|
doReturn(true).when(mainWindow).isDrawn();
|
||||||
|
doReturn(true).when(mainWindow).isOnScreen();
|
||||||
doReturn(false).when(mainWindow).isLetterboxedForDisplayCutout();
|
doReturn(false).when(mainWindow).isLetterboxedForDisplayCutout();
|
||||||
doReturn(true).when(mainWindow).areAppWindowBoundsLetterboxed();
|
doReturn(true).when(mainWindow).areAppWindowBoundsLetterboxed();
|
||||||
doReturn(true).when(mLetterboxConfiguration).isLetterboxActivityCornersRounded();
|
doReturn(true).when(mLetterboxConfiguration).isLetterboxActivityCornersRounded();
|
||||||
|
|||||||
@@ -502,7 +502,7 @@ public class SizeCompatTests extends WindowTestsBase {
|
|||||||
|
|
||||||
spyOn(mActivity.mLetterboxUiController);
|
spyOn(mActivity.mLetterboxUiController);
|
||||||
doReturn(true).when(mActivity.mLetterboxUiController)
|
doReturn(true).when(mActivity.mLetterboxUiController)
|
||||||
.isSurfaceReadyAndVisible(any());
|
.isSurfaceVisible(any());
|
||||||
|
|
||||||
assertTrue(mActivity.mLetterboxUiController.shouldShowLetterboxUi(
|
assertTrue(mActivity.mLetterboxUiController.shouldShowLetterboxUi(
|
||||||
mActivity.findMainWindow()));
|
mActivity.findMainWindow()));
|
||||||
|
|||||||
Reference in New Issue
Block a user