Loading packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java +8 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ import com.android.systemui.shared.system.WindowManagerWrapper; import java.io.PrintWriter; import java.text.NumberFormat; import java.util.Collections; import java.util.Locale; /** Loading Loading @@ -178,7 +179,13 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold // Initialize listeners. mMirrorViewRunnable = () -> { if (mMirrorView != null) { final Rect oldViewBounds = new Rect(mMirrorViewBounds); mMirrorView.getBoundsOnScreen(mMirrorViewBounds); if (oldViewBounds.width() != mMirrorViewBounds.width() || oldViewBounds.height() != mMirrorViewBounds.height()) { mMirrorView.setSystemGestureExclusionRects(Collections.singletonList( new Rect(0, 0, mMirrorViewBounds.width(), mMirrorViewBounds.height()))); } updateSystemUIStateIfNeeded(); mWindowMagnifierCallback.onWindowMagnifierBoundsChanged( mDisplayId, mMirrorViewBounds); Loading Loading @@ -269,6 +276,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold if (mMirrorWindowControl != null) { mMirrorWindowControl.destroyControl(); } mMirrorViewBounds.setEmpty(); updateSystemUIStateIfNeeded(); } Loading packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationControllerTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,8 @@ import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import java.util.List; @LargeTest @RunWith(AndroidTestingRunner.class) public class WindowMagnificationControllerTest extends SysuiTestCase { Loading Loading @@ -151,6 +153,19 @@ public class WindowMagnificationControllerTest extends SysuiTestCase { eq(mContext.getDisplayId()), any(Rect.class)); } @Test public void enableWindowMagnification_systemGestureExclusionRectsIsSet() { mInstrumentation.runOnMainSync(() -> { mWindowMagnificationController.enableWindowMagnification(Float.NaN, Float.NaN, Float.NaN); }); // Wait for Rects updated. waitForIdleSync(); List<Rect> rects = mWindowManager.getAttachedView().getSystemGestureExclusionRects(); assertFalse(rects.isEmpty()); } @Test public void deleteWindowMagnification_destroyControl() { mInstrumentation.runOnMainSync(() -> { Loading Loading
packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java +8 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ import com.android.systemui.shared.system.WindowManagerWrapper; import java.io.PrintWriter; import java.text.NumberFormat; import java.util.Collections; import java.util.Locale; /** Loading Loading @@ -178,7 +179,13 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold // Initialize listeners. mMirrorViewRunnable = () -> { if (mMirrorView != null) { final Rect oldViewBounds = new Rect(mMirrorViewBounds); mMirrorView.getBoundsOnScreen(mMirrorViewBounds); if (oldViewBounds.width() != mMirrorViewBounds.width() || oldViewBounds.height() != mMirrorViewBounds.height()) { mMirrorView.setSystemGestureExclusionRects(Collections.singletonList( new Rect(0, 0, mMirrorViewBounds.width(), mMirrorViewBounds.height()))); } updateSystemUIStateIfNeeded(); mWindowMagnifierCallback.onWindowMagnifierBoundsChanged( mDisplayId, mMirrorViewBounds); Loading Loading @@ -269,6 +276,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold if (mMirrorWindowControl != null) { mMirrorWindowControl.destroyControl(); } mMirrorViewBounds.setEmpty(); updateSystemUIStateIfNeeded(); } Loading
packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationControllerTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,8 @@ import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import java.util.List; @LargeTest @RunWith(AndroidTestingRunner.class) public class WindowMagnificationControllerTest extends SysuiTestCase { Loading Loading @@ -151,6 +153,19 @@ public class WindowMagnificationControllerTest extends SysuiTestCase { eq(mContext.getDisplayId()), any(Rect.class)); } @Test public void enableWindowMagnification_systemGestureExclusionRectsIsSet() { mInstrumentation.runOnMainSync(() -> { mWindowMagnificationController.enableWindowMagnification(Float.NaN, Float.NaN, Float.NaN); }); // Wait for Rects updated. waitForIdleSync(); List<Rect> rects = mWindowManager.getAttachedView().getSystemGestureExclusionRects(); assertFalse(rects.isEmpty()); } @Test public void deleteWindowMagnification_destroyControl() { mInstrumentation.runOnMainSync(() -> { Loading