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

Commit 5632f4b1 authored by ryanlwlin's avatar ryanlwlin
Browse files

Fix rotation test faiulre on foldable devices

In our test, we assume the device is under portrait mode, which is not
true for foldables.

To fix it, we caclue the rotation degree based on the current rotation.

Bug: 197623044
Test: run WindowMagnificationControllerTest with the device under the
landscape mode.

Change-Id: I4c27a193af05f402246aa8b3b490e8bde9d93fc7
parent 5082dcb7
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -252,7 +252,9 @@ public class WindowMagnificationControllerTest extends SysuiTestCase {
    @Test
    public void onOrientationChanged_enabled_updateDisplayRotationAndCenterStayAtSamePosition() {
        final Display display = Mockito.spy(mContext.getDisplay());
        when(display.getRotation()).thenReturn(Surface.ROTATION_90);
        final int currentRotation = display.getRotation();
        final int newRotation = (currentRotation + 1) % 4;
        when(display.getRotation()).thenReturn(newRotation);
        when(mContext.getDisplay()).thenReturn(display);
        mInstrumentation.runOnMainSync(() -> {
            mWindowMagnificationController.enableWindowMagnification(Float.NaN, Float.NaN,
@@ -261,7 +263,7 @@ public class WindowMagnificationControllerTest extends SysuiTestCase {
        final PointF expectedCenter = new PointF(mWindowMagnificationController.getCenterY(),
                mWindowMagnificationController.getCenterX());
        final Rect windowBounds = new Rect(mWindowManager.getCurrentWindowMetrics().getBounds());
        // Rotate the window 90 degrees.
        // Rotate the window clockwise 90 degree.
        windowBounds.set(windowBounds.top, windowBounds.left, windowBounds.bottom,
                windowBounds.right);
        mWindowManager.setWindowBounds(windowBounds);
@@ -270,7 +272,7 @@ public class WindowMagnificationControllerTest extends SysuiTestCase {
            mWindowMagnificationController.onConfigurationChanged(ActivityInfo.CONFIG_ORIENTATION);
        });

        assertEquals(Surface.ROTATION_90, mWindowMagnificationController.mRotation);
        assertEquals(newRotation, mWindowMagnificationController.mRotation);
        final PointF actualCenter = new PointF(mWindowMagnificationController.getCenterX(),
                mWindowMagnificationController.getCenterY());
        assertEquals(expectedCenter, actualCenter);