Merge "Keep rounded corners during activity transitions" into tm-qpr-dev am: bce91b77ef
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21989344 Change-Id: I35bad3cd29f51af36903338c9727029026746690 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -1005,7 +1005,8 @@ final class LetterboxUiController {
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
boolean shouldShowLetterboxUi(WindowState mainWindow) {
|
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
|
// Check for FLAG_SHOW_WALLPAPER explicitly instead of using
|
||||||
// WindowContainer#showWallpaper because the later will return true when this
|
// WindowContainer#showWallpaper because the later will return true when this
|
||||||
// activity is using blurred wallpaper for letterbox background.
|
// 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
|
// for all corners for consistency and pick a minimal bottom one for consistency with a
|
||||||
// taskbar rounded corners.
|
// taskbar rounded corners.
|
||||||
int getRoundedCornersRadius(final WindowState mainWindow) {
|
int getRoundedCornersRadius(final WindowState mainWindow) {
|
||||||
if (!requiresRoundedCorners(mainWindow) || mActivityRecord.isInLetterboxAnimation()) {
|
if (!requiresRoundedCorners(mainWindow)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -453,8 +453,17 @@ public class LetterboxUiControllerTest extends WindowTestsBase {
|
|||||||
mainWindow.mInvGlobalScale = invGlobalScale;
|
mainWindow.mInvGlobalScale = invGlobalScale;
|
||||||
mLetterboxConfiguration.setLetterboxActivityCornersRadius(configurationRadius);
|
mLetterboxConfiguration.setLetterboxActivityCornersRadius(configurationRadius);
|
||||||
|
|
||||||
|
doReturn(true).when(mActivity).isInLetterboxAnimation();
|
||||||
assertEquals(expectedRadius, mController.getRoundedCornersRadius(mainWindow));
|
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
|
@Test
|
||||||
@@ -489,6 +498,7 @@ public class LetterboxUiControllerTest extends WindowTestsBase {
|
|||||||
doReturn(taskbar).when(insets).peekSource(taskbar.getType());
|
doReturn(taskbar).when(insets).peekSource(taskbar.getType());
|
||||||
}
|
}
|
||||||
doReturn(mLetterboxedPortraitTaskBounds).when(mActivity).getBounds();
|
doReturn(mLetterboxedPortraitTaskBounds).when(mActivity).getBounds();
|
||||||
|
doReturn(false).when(mActivity).isInLetterboxAnimation();
|
||||||
doReturn(true).when(mActivity).isVisible();
|
doReturn(true).when(mActivity).isVisible();
|
||||||
doReturn(true).when(mActivity).isLetterboxedForFixedOrientationAndAspectRatio();
|
doReturn(true).when(mActivity).isLetterboxedForFixedOrientationAndAspectRatio();
|
||||||
doReturn(insets).when(mainWindow).getInsetsState();
|
doReturn(insets).when(mainWindow).getInsetsState();
|
||||||
|
|||||||
Reference in New Issue
Block a user