diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java index 0747959d6..42aa28351 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java @@ -157,7 +157,24 @@ public class BinaryDictionary extends Dictionary { // proximityInfo and/or prevWordForBigrams may not be null. private ArrayList getWordsInternal(final WordComposer codes, final int[] prevWord, final ProximityInfo proximityInfo) { - final int count = getWordsInternalInternal(codes, prevWord, proximityInfo); + 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 null; + for (int i = 0; i < codesSize; i++) { + mInputCodes[i] = codes.getCodeAt(i); + } + } + + final int count = getSuggestionsNative(mNativeDict, proximityInfo.getNativeProximityInfo(), + ips.getXCoordinates(), ips.getYCoordinates(), ips.getTimes(), ips.getPointerIds(), + mInputCodes, codesSize, 0 /* unused */, isGesture, prevWord, + mUseFullEditDistance, mOutputChars, mOutputScores, mSpaceIndices); final ArrayList suggestions = new ArrayList(); for (int j = 0; j < count; ++j) { @@ -181,30 +198,6 @@ public class BinaryDictionary extends Dictionary { return mNativeDict != 0; } - // proximityInfo may not be null. - // TODO: remove this method by inlining it into getWordsInternal - private int getWordsInternalInternal(final WordComposer codes, - final int[] prevWord, final ProximityInfo proximityInfo) { - 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); - } - } - - return getSuggestionsNative(mNativeDict, proximityInfo.getNativeProximityInfo(), - ips.getXCoordinates(), ips.getYCoordinates(), ips.getTimes(), ips.getPointerIds(), - mInputCodes, codesSize, 0 /* unused */, isGesture, prevWord, - mUseFullEditDistance, mOutputChars, mOutputScores, mSpaceIndices); - } - public static float calcNormalizedScore(String before, String after, int score) { return calcNormalizedScoreNative(before.toCharArray(), before.length(), after.toCharArray(), after.length(), score);