aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/BinaryDictionary.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2012-07-10 10:46:13 +0900
committerTadashi G. Takaoka <takaoka@google.com>2012-07-10 20:01:28 +0900
commitd82dcdc9246b340c4b355e34efc6079f3278efa6 (patch)
tree4e374f9c8cf718ffc9c8c7514241186ed81b2c00 /java/src/com/android/inputmethod/latin/BinaryDictionary.java
parent5e573a1f0a63c017c7b0e4c4314235bd87c9363c (diff)
downloadlatinime-d82dcdc9246b340c4b355e34efc6079f3278efa6.tar.gz
latinime-d82dcdc9246b340c4b355e34efc6079f3278efa6.tar.xz
latinime-d82dcdc9246b340c4b355e34efc6079f3278efa6.zip
Add batch input dictionary lookup
Change-Id: I4da3c976838e8eb56c9ec80aafaaf54d759b7981
Diffstat (limited to 'java/src/com/android/inputmethod/latin/BinaryDictionary.java')
-rw-r--r--java/src/com/android/inputmethod/latin/BinaryDictionary.java31
1 files changed, 15 insertions, 16 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
index 5c91a1077..4cae6bcdb 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
@@ -188,32 +188,31 @@ public class BinaryDictionary extends Dictionary {
char[] outputChars, int[] scores, int[] spaceIndices) {
if (!isValidDictionary()) return -1;
- final int codesSize = codes.size();
- // Won't deal with really long words.
- if (codesSize > MAX_WORD_LENGTH - 1) return -1;
-
Arrays.fill(mInputCodes, WordComposer.NOT_A_CODE);
- for (int i = 0; i < codesSize; i++) {
- mInputCodes[i] = codes.getCodeAt(i);
- }
Arrays.fill(outputChars, (char) 0);
Arrays.fill(scores, 0);
+ final InputPointers ips = codes.getInputPointers();
+ final boolean isGesture = codes.isBatchMode();
+ final int codesSize;
+ if (isGesture) {
+ codesSize = ips.getPointerSize();
+ } else {
+ codesSize = codes.size();
+ // Won't deal with really long words.
+ if (codesSize > MAX_WORD_LENGTH - 1) return -1;
+ for (int i = 0; i < codesSize; i++) {
+ mInputCodes[i] = codes.getCodeAt(i);
+ }
+ }
+
// TODO: toLowerCase in the native code
final int[] prevWordCodePointArray = (null == prevWordForBigrams)
? null : StringUtils.toCodePointArray(prevWordForBigrams.toString());
- int[] emptyArray = new int[codesSize];
- Arrays.fill(emptyArray, 0);
-
- //final int commitPoint = codes.getCommitPoint();
- //codes.clearCommitPoint();
-
- final InputPointers ips = codes.getInputPointers();
-
return getSuggestionsNative(mNativeDict, proximityInfo.getNativeProximityInfo(),
ips.getXCoordinates(), ips.getYCoordinates(), ips.getTimes(), ips.getPointerIds(),
- mInputCodes, codesSize, 0 /* unused */, false, prevWordCodePointArray,
+ mInputCodes, codesSize, 0 /* unused */, isGesture, prevWordCodePointArray,
mUseFullEditDistance, outputChars, scores, spaceIndices);
}