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
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user