diff options
author | 2012-05-14 19:41:34 -0700 | |
---|---|---|
committer | 2012-05-14 19:41:34 -0700 | |
commit | 0c5b2a01d40af79d66fb9264ad8fd5b51014b797 (patch) | |
tree | d9ee07c81fb3da8eb0b298055c1c35eb2d736d0d /java/src/com/android/inputmethod/latin/BinaryDictionary.java | |
parent | 529f4374179b8102b469e528cc92bcbfa8565fd8 (diff) | |
parent | 5282f00ff871bc0ae8303a2b6dacb283f73e31ea (diff) | |
download | latinime-0c5b2a01d40af79d66fb9264ad8fd5b51014b797.tar.gz latinime-0c5b2a01d40af79d66fb9264ad8fd5b51014b797.tar.xz latinime-0c5b2a01d40af79d66fb9264ad8fd5b51014b797.zip |
am 5282f00f: Merge "Contacts dictionary rebuilds only when contact names have changed." into jb-dev
* commit '5282f00ff871bc0ae8303a2b6dacb283f73e31ea':
Contacts dictionary rebuilds only when contact names have changed.
Diffstat (limited to 'java/src/com/android/inputmethod/latin/BinaryDictionary.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/BinaryDictionary.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java index a644ec0d9..cc20f4294 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java @@ -17,6 +17,7 @@ package com.android.inputmethod.latin; import android.content.Context; +import android.text.TextUtils; import com.android.inputmethod.keyboard.ProximityInfo; @@ -84,6 +85,7 @@ public class BinaryDictionary extends Dictionary { int typedLetterMultiplier, int fullWordMultiplier, int maxWordLength, int maxWords); private native void closeNative(long dict); private native boolean isValidWordNative(long dict, int[] word, int wordLength); + private native boolean isValidBigramNative(long dict, int[] word1, int[] word2); private native int getSuggestionsNative(long dict, long proximityInfo, int[] xCoordinates, int[] yCoordinates, int[] inputCodes, int codesSize, int[] prevWordForBigrams, boolean useFullEditDistance, char[] outputChars, int[] scores); @@ -204,6 +206,15 @@ public class BinaryDictionary extends Dictionary { return isValidWordNative(mNativeDict, chars, chars.length); } + // TODO: Add a batch process version (isValidBigramMultiple?) to avoid excessive numbers of jni + // calls when checking for changes in an entire dictionary. + public boolean isValidBigram(CharSequence word1, CharSequence word2) { + if (TextUtils.isEmpty(word1) || TextUtils.isEmpty(word2)) return false; + int[] chars1 = StringUtils.toCodePointArray(word1.toString()); + int[] chars2 = StringUtils.toCodePointArray(word2.toString()); + return isValidBigramNative(mNativeDict, chars1, chars2); + } + @Override public synchronized void close() { closeInternal(); |