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

Commit e2cbb4d7 authored by Graciela Putri's avatar Graciela Putri Committed by Automerger Merge Worker
Browse files

Merge "Pillarbox if user applied aspect ratio and orientation unspecified"...

Merge "Pillarbox if user applied aspect ratio and orientation unspecified" into udc-qpr-dev am: f2795971

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24792609



Change-Id: I5bb0c101f0fd7c9f9218355ef4bbbcdc8b269b25
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 534a6b97 f2795971
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -661,6 +661,10 @@ final class LetterboxUiController {
    @ScreenOrientation
    int overrideOrientationIfNeeded(@ScreenOrientation int candidate) {
        if (shouldApplyUserFullscreenOverride()) {
            Slog.v(TAG, "Requested orientation " + screenOrientationToString(candidate) + " for "
                    + mActivityRecord + " is overridden to "
                    + screenOrientationToString(SCREEN_ORIENTATION_USER)
                    + " by user aspect ratio settings.");
            return SCREEN_ORIENTATION_USER;
        }

@@ -668,6 +672,14 @@ final class LetterboxUiController {
        // orientation.
        candidate = mActivityRecord.mWmService.mapOrientationRequest(candidate);

        if (shouldApplyUserMinAspectRatioOverride() && !isFixedOrientation(candidate)) {
            Slog.v(TAG, "Requested orientation " + screenOrientationToString(candidate) + " for "
                    + mActivityRecord + " is overridden to "
                    + screenOrientationToString(SCREEN_ORIENTATION_PORTRAIT)
                    + " by user aspect ratio settings.");
            return SCREEN_ORIENTATION_PORTRAIT;
        }

        if (FALSE.equals(mBooleanPropertyAllowOrientationOverride)) {
            return candidate;
        }
+22 −0
Original line number Diff line number Diff line
@@ -811,6 +811,28 @@ public class LetterboxUiControllerTest extends WindowTestsBase {
                /* candidate */ SCREEN_ORIENTATION_PORTRAIT), SCREEN_ORIENTATION_PORTRAIT);
    }

    @Test
    public void testOverrideOrientationIfNeeded_userAspectRatioApplied_unspecifiedOverridden() {
        spyOn(mController);
        doReturn(true).when(mController).shouldApplyUserMinAspectRatioOverride();

        assertEquals(mController.overrideOrientationIfNeeded(
                /* candidate */ SCREEN_ORIENTATION_UNSPECIFIED), SCREEN_ORIENTATION_PORTRAIT);

        // unchanged if orientation is specified
        assertEquals(mController.overrideOrientationIfNeeded(
                /* candidate */ SCREEN_ORIENTATION_LANDSCAPE), SCREEN_ORIENTATION_LANDSCAPE);
    }

    @Test
    public void testOverrideOrientationIfNeeded_userAspectRatioNotApplied_returnsUnchanged() {
        spyOn(mController);
        doReturn(false).when(mController).shouldApplyUserMinAspectRatioOverride();

        assertEquals(mController.overrideOrientationIfNeeded(
                /* candidate */ SCREEN_ORIENTATION_UNSPECIFIED), SCREEN_ORIENTATION_UNSPECIFIED);
    }

    // shouldApplyUser...Override
    @Test
    public void testShouldApplyUserFullscreenOverride_trueProperty_returnsFalse() throws Exception {