Loading services/core/java/com/android/server/wm/LetterboxUiController.java +3 −2 Original line number Diff line number Diff line Loading @@ -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. Loading Loading @@ -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; } Loading services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java +10 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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(); Loading Loading
services/core/java/com/android/server/wm/LetterboxUiController.java +3 −2 Original line number Diff line number Diff line Loading @@ -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. Loading Loading @@ -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; } Loading
services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java +10 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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(); Loading