aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorCharles Chen <clchen@google.com>2012-05-10 11:34:20 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-10 11:34:20 -0700
commit7c23ad92fcbeb64623c7deda7c603ec6c35e11a3 (patch)
tree24f0d6cf10644587768d30632f59defe9bb94e1c /java
parent6cb23a49bfc36ea2fad56f1c7f3730cd38667627 (diff)
parentb4c41fa813426eaff2c20837c86e3f8aaa215b6f (diff)
downloadlatinime-7c23ad92fcbeb64623c7deda7c603ec6c35e11a3.tar.gz
latinime-7c23ad92fcbeb64623c7deda7c603ec6c35e11a3.tar.xz
latinime-7c23ad92fcbeb64623c7deda7c603ec6c35e11a3.zip
Merge "Use key index as virtual view ID." into jb-dev
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java b/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java
index 812bbc881..d7cd8e23a 100644
--- a/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java
+++ b/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java
@@ -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.
* @return A virtual view identifier.
*/
private static int generateVirtualViewIdForKey(Key key) {
- // The key code is unique within an instance of a Keyboard.
- return key.mCode;
+ // The key x- and y-coordinates are stable between layout changes.
+ // 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() {