Fix rotation bounds calculation in WindowMagnificationControllerTest

On display WxH, a point (x,y) after 90 degree rotation is (y, W-x) in a
new coordinate.

Bug: 203361026
Test: atest com.android.systemui.accessibility.WindowMagnificationControllerTest#onOrientationChanged_enabled_updateDisplayRotationAndCenterStayAtSamePosition
Change-Id: I6fbe248873cd49a3ec52a56a060ade2620fe8710
This commit is contained in:
Hiroki Sato
2021-10-21 18:39:42 +09:00
parent 6adeab2b5c
commit 3f75d2fde7

View File

@@ -278,6 +278,7 @@ public class WindowMagnificationControllerTest extends SysuiTestCase {
when(mContext.getDisplay()).thenReturn(display);
final Rect windowBounds = new Rect(mWindowManager.getCurrentWindowMetrics().getBounds());
final float center = Math.min(windowBounds.exactCenterX(), windowBounds.exactCenterY());
final float displayWidth = windowBounds.width();
final PointF magnifiedCenter = new PointF(center, center + 5f);
mInstrumentation.runOnMainSync(() -> {
mWindowMagnificationController.enableWindowMagnification(Float.NaN, magnifiedCenter.x,
@@ -295,7 +296,8 @@ public class WindowMagnificationControllerTest extends SysuiTestCase {
ActivityInfo.CONFIG_ORIENTATION));
assertEquals(newRotation, mWindowMagnificationController.mRotation);
final PointF expectedCenter = new PointF(magnifiedCenter.y, magnifiedCenter.x);
final PointF expectedCenter = new PointF(magnifiedCenter.y,
displayWidth - magnifiedCenter.x);
final PointF actualCenter = new PointF(mWindowMagnificationController.getCenterX(),
mWindowMagnificationController.getCenterY());
assertEquals(expectedCenter, actualCenter);