diff options
| author | 2023-02-15 12:08:54 +0000 | |
|---|---|---|
| committer | 2023-02-15 12:08:54 +0000 | |
| commit | 69d2637f2271971c36ed95d0570630501297288b (patch) | |
| tree | 35aa956fa8802c3423ab8f5a6bdd47b9ddb9c6f1 | |
| parent | 43b85fbb016b0705201b1b0b55a2d185db2e631a (diff) | |
| parent | fbcf72fa1b228a2885733dbba11e645893f01493 (diff) | |
Merge "Update condition for when to show letterbox" into tm-qpr-dev
3 files changed, 5 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/wm/LetterboxUiController.java b/services/core/java/com/android/server/wm/LetterboxUiController.java index cbc36c3a8675..5a481f438827 100644 --- a/services/core/java/com/android/server/wm/LetterboxUiController.java +++ b/services/core/java/com/android/server/wm/LetterboxUiController.java @@ -1000,7 +1000,7 @@ final class LetterboxUiController { @VisibleForTesting boolean shouldShowLetterboxUi(WindowState mainWindow) { - return isSurfaceReadyAndVisible(mainWindow) && mainWindow.areAppWindowBoundsLetterboxed() + return isSurfaceVisible(mainWindow) && mainWindow.areAppWindowBoundsLetterboxed() // Check for FLAG_SHOW_WALLPAPER explicitly instead of using // WindowContainer#showWallpaper because the later will return true when this // activity is using blurred wallpaper for letterbox background. @@ -1008,11 +1008,8 @@ final class LetterboxUiController { } @VisibleForTesting - boolean isSurfaceReadyAndVisible(WindowState mainWindow) { - boolean surfaceReady = mainWindow.isDrawn() // Regular case - // Waiting for relayoutWindow to call preserveSurface - || mainWindow.isDragResizeChanged(); - return surfaceReady && (mActivityRecord.isVisible() + boolean isSurfaceVisible(WindowState mainWindow) { + return mainWindow.isOnScreen() && (mActivityRecord.isVisible() || mActivityRecord.isVisibleRequested()); } diff --git a/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java index 0d20f1772d0b..656c07b1acee 100644 --- a/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java @@ -494,6 +494,7 @@ public class LetterboxUiControllerTest extends WindowTestsBase { doReturn(insets).when(mainWindow).getInsetsState(); doReturn(attrs).when(mainWindow).getAttrs(); doReturn(true).when(mainWindow).isDrawn(); + doReturn(true).when(mainWindow).isOnScreen(); doReturn(false).when(mainWindow).isLetterboxedForDisplayCutout(); doReturn(true).when(mainWindow).areAppWindowBoundsLetterboxed(); doReturn(true).when(mLetterboxConfiguration).isLetterboxActivityCornersRounded(); diff --git a/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java b/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java index 0f9ff7d93356..de84655986ef 100644 --- a/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java @@ -502,7 +502,7 @@ public class SizeCompatTests extends WindowTestsBase { spyOn(mActivity.mLetterboxUiController); doReturn(true).when(mActivity.mLetterboxUiController) - .isSurfaceReadyAndVisible(any()); + .isSurfaceVisible(any()); assertTrue(mActivity.mLetterboxUiController.shouldShowLetterboxUi( mActivity.findMainWindow())); |