summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Oleg Blinnikov <olb@google.com> 2023-03-15 10:26:06 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-03-15 10:26:06 +0000
commitbce91b77ef6c39bb2b76bb9666858885e7464080 (patch)
tree6a156717efe2a38c4104791f43c5012e70babe5a
parent988a8777cbc7cd2179e9579c89b227e16f811e34 (diff)
parent9c9cdca6360ddbc62f14f0c1fac0b7293ed70667 (diff)
Merge "Keep rounded corners during activity transitions" into tm-qpr-dev
-rw-r--r--services/core/java/com/android/server/wm/LetterboxUiController.java5
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java10
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();