Fixed poor behavior of position-based focus order
Rect-based focus order algorithm used to sort all views such-that
higher tops were higher. The result is that focus order could
easily move end-to-start when elements with varying heights (even
1px different) were arranged horizontally.
This changes the algorithm to take vertical overlap into account
when sorting. It tries its best to match UX for how focus-order
should work in ambiguous cases.
Bug:
33848452
Bug:
34854951
Test: Checked in a sample-app to make sure focus order matches UX
more closely than before. Also verified that existing
FocusFinder CTS tests still pass.
Change-Id: I0e0f2f63d5151693a2642604f64df985856c8991