fix(magnification): directly use the window touchableRegion in AccessibilityController magnification recomputeBounds

In AccessibilityController recomputeBounds, currently it create a touchable rect from the WindowState's touchableRegion to compute the magnification region. However, if there are separated rects in the touchableRegion, then the created touchable rect might be a large rect consisting of non-touchable areas in that WindowState. Therefore, the fix is to directly use the WindowState's exact touchableRegion in computation so the non-touchable areas will not be included. The fix is guarded behind a flag to verify with rollout process, so we can check if there are some side-effect or performance issues.

Bug: 323366243
Flag: ACONFIG com.android.window.flags.use_window_original_touchable_region_when_magnification_recompute_bounds DEVELOPMENT
Test: manually flip flag
      atest AccessibilityMagnificationTest
Change-Id: I4681e286f7b4465fca5c77d579be104ff73ad42f
2 files changed