OSDN Git Service

Fix a11y crash when window layer isn't unique.
authorPhil Weaver <pweaver@google.com>
Thu, 19 May 2016 17:32:52 +0000 (10:32 -0700)
committerPhil Weaver <pweaver@google.com>
Thu, 19 May 2016 20:32:24 +0000 (13:32 -0700)
commitadaafb29801b939ab9a5ad348a338ecab4c03098
tree275a2f8b86581806f5d3b17ebd7ccf5962f318f7
parent29af3cab293dc7a19ca3b387c5507e521f66d0b7
Fix a11y crash when window layer isn't unique.

TalkBack is seeing crashes that I can only explain by our assumption
that window layer is unique in all cases. TalkBack reports that it
happens during animation, so I assume that the layer may repeat
transiently.

Reducing our dependence on this assumption by traversing the list of
windows sorted by layer without assuming that the list has the same
length as the list of unsorted windows.

Also documenting the undefined behavior of SparseArray when indexing
beyond its bounds. The undefined behavior itself is intentional for
performance reasons.

Bug: 28679528
Bug: 28815817
Change-Id: I0c9f90b0b458b4cde465f603ba204fe6691e5c2c
core/java/android/util/SparseArray.java
core/java/android/view/accessibility/AccessibilityCache.java