aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorYusuke Nojima <nojima@google.com>2011-09-22 02:50:51 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-09-22 02:50:51 -0700
commitb2255163667e1e8f0765f642736b6d736ee5e8af (patch)
tree0841f15b9cb34c73f39a61e2f0a612ef121e621c /java/src
parent8d6fd877c5ac11aa0852b5a28bf1a52081ae9157 (diff)
parent0e1f656c1be7f2916cf57c94d99b001795856270 (diff)
downloadlatinime-b2255163667e1e8f0765f642736b6d736ee5e8af.tar.gz
latinime-b2255163667e1e8f0765f642736b6d736ee5e8af.tar.xz
latinime-b2255163667e1e8f0765f642736b6d736ee5e8af.zip
Merge "Extend JNI interface to pass the key coordinate information"
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/ProximityInfo.java24
1 files changed, 21 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
index a82bcbed0..0e2d28024 100644
--- a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
+++ b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
@@ -65,7 +65,8 @@ public class ProximityInfo {
spellCheckerProximityInfo.mNativeProximityInfo =
spellCheckerProximityInfo.setProximityInfoNative(
SpellCheckerProximityInfo.ROW_SIZE,
- 480, 300, 10, 3, SpellCheckerProximityInfo.PROXIMITY);
+ 480, 300, 10, 3, SpellCheckerProximityInfo.PROXIMITY,
+ 0, null, null, null, null, null);
return spellCheckerProximityInfo;
}
@@ -74,7 +75,9 @@ public class ProximityInfo {
Utils.loadNativeLibrary();
}
private native int setProximityInfoNative(int maxProximityCharsSize, int displayWidth,
- int displayHeight, int gridWidth, int gridHeight, int[] proximityCharsArray);
+ int displayHeight, int gridWidth, int gridHeight, int[] proximityCharsArray,
+ int keyCount, int[] keyXCoordinates, int[] keyYCoordinates,
+ int[] keyWidths, int[] keyHeights, int[] keyCharCodes);
private native void releaseProximityInfoNative(int nativeProximityInfo);
private final void setProximityInfo(int[][] gridNeighborKeyIndexes, int keyboardWidth,
@@ -88,8 +91,23 @@ public class ProximityInfo {
keys.get(gridNeighborKeyIndexes[i][j]).mCode;
}
}
+ final int keyCount = keys.size();
+ int[] keyXCoordinates = new int[keyCount];
+ int[] keyYCoordinates = new int[keyCount];
+ int[] keyWidths = new int[keyCount];
+ int[] keyHeights = new int[keyCount];
+ int[] keyCharCodes = new int[keyCount];
+ for (int i = 0; i < keyCount; ++i) {
+ final Key key = keys.get(i);
+ keyXCoordinates[i] = key.mX;
+ keyYCoordinates[i] = key.mY;
+ keyWidths[i] = key.mWidth;
+ keyHeights[i] = key.mHeight;
+ keyCharCodes[i] = key.mCode;
+ }
mNativeProximityInfo = setProximityInfoNative(MAX_PROXIMITY_CHARS_SIZE,
- keyboardWidth, keyboardHeight, mGridWidth, mGridHeight, proximityCharsArray);
+ keyboardWidth, keyboardHeight, mGridWidth, mGridHeight, proximityCharsArray,
+ keyCount, keyXCoordinates, keyYCoordinates, keyWidths, keyHeights, keyCharCodes);
}
public int getNativeProximityInfo() {