diff options
| author | 2023-03-15 10:26:06 +0000 | |
|---|---|---|
| committer | 2023-03-15 10:26:06 +0000 | |
| commit | bce91b77ef6c39bb2b76bb9666858885e7464080 (patch) | |
| tree | 6a156717efe2a38c4104791f43c5012e70babe5a | |
| parent | 988a8777cbc7cd2179e9579c89b227e16f811e34 (diff) | |
| parent | 9c9cdca6360ddbc62f14f0c1fac0b7293ed70667 (diff) | |
Merge "Keep rounded corners during activity transitions" into tm-qpr-dev
| -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(); |