Use key index as virtual view ID.

Bug: 6464677
Change-Id: I443e4add8052dbce1d413c2ce38a7b98408613bf
This commit is contained in:
alanv 2012-05-09 22:20:41 -07:00
parent 52ab6864d0
commit b4c41fa813

View File

@ -211,14 +211,17 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat
} }
/** /**
* Generates a virtual view identifier for the specified key. * Generates a virtual view identifier for the given key. Returned
* identifiers are valid until the next global layout state change.
* *
* @param key The key to identify. * @param key The key to identify.
* @return A virtual view identifier. * @return A virtual view identifier.
*/ */
private static int generateVirtualViewIdForKey(Key key) { private static int generateVirtualViewIdForKey(Key key) {
// The key code is unique within an instance of a Keyboard. // The key x- and y-coordinates are stable between layout changes.
return key.mCode; // Generate an identifier by bit-shifting the x-coordinate to the
// left-half of the integer and OR'ing with the y-coordinate.
return ((0xFFFF & key.mX) << (Integer.SIZE / 2)) | (0xFFFF & key.mY);
} }
private final OnGlobalLayoutListener mGlobalLayoutListener = new OnGlobalLayoutListener() { private final OnGlobalLayoutListener mGlobalLayoutListener = new OnGlobalLayoutListener() {