summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Pablo Gamito <pablogamito@google.com> 2023-02-15 12:08:54 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-02-15 12:08:54 +0000
commit69d2637f2271971c36ed95d0570630501297288b (patch)
tree35aa956fa8802c3423ab8f5a6bdd47b9ddb9c6f1
parent43b85fbb016b0705201b1b0b55a2d185db2e631a (diff)
parentfbcf72fa1b228a2885733dbba11e645893f01493 (diff)
Merge "Update condition for when to show letterbox" into tm-qpr-dev
-rw-r--r--services/core/java/com/android/server/wm/LetterboxUiController.java9
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java1
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java2
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()));