diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/LetterboxUiController.java | 5 | ||||
| -rw-r--r-- | services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java | 10 |
2 files changed, 13 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/LetterboxUiController.java b/services/core/java/com/android/server/wm/LetterboxUiController.java index d9f2b6e4a0a3..b9ac89095112 100644 --- a/services/core/java/com/android/server/wm/LetterboxUiController.java +++ b/services/core/java/com/android/server/wm/LetterboxUiController.java @@ -1005,7 +1005,8 @@ final class LetterboxUiController { @VisibleForTesting boolean shouldShowLetterboxUi(WindowState mainWindow) { - return isSurfaceVisible(mainWindow) && mainWindow.areAppWindowBoundsLetterboxed() + return (mActivityRecord.isInLetterboxAnimation() || 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. @@ -1112,7 +1113,7 @@ final class LetterboxUiController { // for all corners for consistency and pick a minimal bottom one for consistency with a // taskbar rounded corners. int getRoundedCornersRadius(final WindowState mainWindow) { - if (!requiresRoundedCorners(mainWindow) || mActivityRecord.isInLetterboxAnimation()) { + if (!requiresRoundedCorners(mainWindow)) { return 0; } 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 656c07b1acee..93b1df08369e 100644 --- a/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java @@ -453,8 +453,17 @@ public class LetterboxUiControllerTest extends WindowTestsBase { mainWindow.mInvGlobalScale = invGlobalScale; mLetterboxConfiguration.setLetterboxActivityCornersRadius(configurationRadius); + doReturn(true).when(mActivity).isInLetterboxAnimation(); assertEquals(expectedRadius, mController.getRoundedCornersRadius(mainWindow)); + doReturn(false).when(mActivity).isInLetterboxAnimation(); + assertEquals(expectedRadius, mController.getRoundedCornersRadius(mainWindow)); + + doReturn(false).when(mainWindow).isOnScreen(); + assertEquals(0, mController.getRoundedCornersRadius(mainWindow)); + + doReturn(true).when(mActivity).isInLetterboxAnimation(); + assertEquals(expectedRadius, mController.getRoundedCornersRadius(mainWindow)); } @Test @@ -489,6 +498,7 @@ public class LetterboxUiControllerTest extends WindowTestsBase { doReturn(taskbar).when(insets).peekSource(taskbar.getType()); } doReturn(mLetterboxedPortraitTaskBounds).when(mActivity).getBounds(); + doReturn(false).when(mActivity).isInLetterboxAnimation(); doReturn(true).when(mActivity).isVisible(); doReturn(true).when(mActivity).isLetterboxedForFixedOrientationAndAspectRatio(); doReturn(insets).when(mainWindow).getInsetsState(); |