Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bce91b77 authored by Oleg Blinnikov's avatar Oleg Blinnikov Committed by Android (Google) Code Review
Browse files

Merge "Keep rounded corners during activity transitions" into tm-qpr-dev

parents 988a8777 9c9cdca6
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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;
        }

+10 −0
Original line number Diff line number Diff line
@@ -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();