fix(magnification): fullscreen magnification offset changes when settings panel shows
When AccessibilityController#onWindowTransition is triggered, the original behavior is checking if the transition window bounds is
intersected with the magnifiedRegionBounds and call onRectangleOnScreenRequest callback if they're not intersect. When FullScreenMagnificationController#onRectangleOnScreenRequest is triggered, it will move the magnification to ensure the given rectangle would appear on the screen. It's to prevent the window transition result does not showing on the screen.
However in this bug, the settings panel is on the non-magnifiable window. So, no matter the magnifiedRegionBounds is, the settings panel will always show on the screen. Therefore, we would like to check that, if the transition window is non-magnifiable, we don't need to check and calling onRectangleOnScreenRequest if not intersected.
We also add a flag to run the rollout process, in case that this adjust would cause some side effect.
Bug: 312624253
Flag: com.android.window.flags.do_not_check_intersection_when_non_magnifiable_window_transitions
Test: manually with adb to flip the flag
Change-Id: I3688df9fad996cede3f2290bbe84622c787b2da1
2 files changed