Skip to content
Commit 5e1c1caa authored by Qasid Ahmad Sadiq's avatar Qasid Ahmad Sadiq Committed by Qasid Sadiq
Browse files

Fixed bug where certain focusable windows are reported to accessibility out of z order.

It is possible to have a window that is focusable but not touchable.
This was initially addressed with the fix in b/15432989, with the informative commit message:
      "The APIs for introspecting interactive windows were reporting only
       the touchable windows but were missing the focused window. The user
       can interact with the latter by typing, hence it should always be
       reported. Also this was breaking backwards compatibility as if the
       focused window is covered by a modal one, the focused window was not
       reporeted and this was putting the active window in a bad state as
       the latter is either the focused window or the one the user is touching."
But the focusable window was added after all of the other windows were added, so that broke the expectation that the reported windows are in z-order.
I can imagine beyond the test this probably also incorrectly reported a situation where a touchable window was obscured by a focusable one.
So now we add it in the correct order, and we update the unaccounted regions appropriately.
The reason that this broke the test is that the overlay is displayed ABOVE the the installer, but it is reported as BELOW the installer.
This only broke on certain devices because the relative screen bounds of those two windows differed, in some situations the installer window obscured the overlay window.

Also, make this a little cleaner.

Fix: 115739549
Test: atest CtsPackageInstallerTapjackingTestCases, atest CtsAccessibilityServiceTestCases, atest CtsUiAutomationTestCases

Change-Id: Ia3b7ae01a7f8ef76eec79e6f1640c3464c4fe89a
parent c785e6d7
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment