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

Commit d095a5e3 authored by Kevin Chyn's avatar Kevin Chyn Committed by Android (Google) Code Review
Browse files

Merge "Also reverse rotation for #freezeRotation path" into tm-qpr-dev

parents 8c2291cc 4c2b792c
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -913,6 +913,16 @@ public class DisplayRotation {
    }

    void freezeRotation(int rotation) {
        if (mDeviceStateController.shouldReverseRotationDirectionAroundZAxis()) {
            // Flipping 270 and 90 has the same effect as changing the direction which rotation is
            // applied.
            if (rotation == Surface.ROTATION_90) {
                rotation = Surface.ROTATION_270;
            } else if (rotation == Surface.ROTATION_270) {
                rotation = Surface.ROTATION_90;
            }
        }

        rotation = (rotation == -1) ? mRotation : rotation;
        setUserRotation(WindowManagerPolicy.USER_ROTATION_LOCKED, rotation);
    }
+18 −0
Original line number Diff line number Diff line
@@ -537,6 +537,24 @@ public class DisplayRotationTests {
                SCREEN_ORIENTATION_UNSPECIFIED, Surface.ROTATION_180));
    }

    @Test
    public void testFreezeRotation_reverseRotationDirectionAroundZAxis_yes() throws Exception {
        mBuilder.build();
        when(mDeviceStateController.shouldReverseRotationDirectionAroundZAxis()).thenReturn(true);

        freezeRotation(Surface.ROTATION_90);
        assertEquals(Surface.ROTATION_270, mTarget.getUserRotation());
    }

    @Test
    public void testFreezeRotation_reverseRotationDirectionAroundZAxis_no() throws Exception {
        mBuilder.build();
        when(mDeviceStateController.shouldReverseRotationDirectionAroundZAxis()).thenReturn(false);

        freezeRotation(Surface.ROTATION_90);
        assertEquals(Surface.ROTATION_90, mTarget.getUserRotation());
    }

    private boolean waitForUiHandler() {
        final CountDownLatch latch = new CountDownLatch(1);
        UiThread.getHandler().post(latch::countDown);