Only request a layout for non-empty accessibility focus rects
The original fix here: ag/22622669 is aggressive for when to perform
layouts and will request a layout when the rect is empty, but the
actual new traversal logic only applies when the rect is non-empty.
Narrowing so we don't request for empty rects will eliminate
unneccessary layouts and fix a serious a11y bug of a drop down
preference spinner closing itself immediately when opened.
This is because the pop-up
appearing caused the focus to disappear, causing the focus rect to be empty and
triggering global layout change that the spinner responds with by closing
itself.
For more details, please see the analysis at b/320398253.
Test: manual
Bug: 320398253
Change-Id: I845da4d5ff1a9271e885448b8d6b9cb537f0c33c
1 file changed