diff options
author | 2013-07-16 02:45:00 +0000 | |
---|---|---|
committer | 2013-07-16 02:45:01 +0000 | |
commit | 4944827e0fdb5657a7f9305c317464edb0ef2b08 (patch) | |
tree | 9eb99fcf089eb3946d74e0cc23f1cb52f62f9200 /java/src/com/android/inputmethod/latin/BinaryDictionary.java | |
parent | 8bfd57820f840d82dafad33c1d2f44c54f461fc1 (diff) | |
parent | f8d2796724b67ffb7e02c033ae15183a0d58febe (diff) | |
download | latinime-4944827e0fdb5657a7f9305c317464edb0ef2b08.tar.gz latinime-4944827e0fdb5657a7f9305c317464edb0ef2b08.tar.xz latinime-4944827e0fdb5657a7f9305c317464edb0ef2b08.zip |
Merge "Add methods for dynamic updating binary dictionary."
Diffstat (limited to 'java/src/com/android/inputmethod/latin/BinaryDictionary.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/BinaryDictionary.java | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java index c355fd60a..dd3b49f58 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java @@ -216,11 +216,40 @@ public final class BinaryDictionary extends Dictionary { // 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(final String word1, final String word2) { - if (TextUtils.isEmpty(word1) || TextUtils.isEmpty(word2)) return false; + public boolean isValidBigram(final String word0, final String word1) { + if (TextUtils.isEmpty(word0) || TextUtils.isEmpty(word1)) return false; + final int[] codePoints0 = StringUtils.toCodePointArray(word0); final int[] codePoints1 = StringUtils.toCodePointArray(word1); - final int[] codePoints2 = StringUtils.toCodePointArray(word2); - return isValidBigramNative(mNativeDict, codePoints1, codePoints2); + return isValidBigramNative(mNativeDict, codePoints0, codePoints1); + } + + // Add a unigram entry to binary dictionary in native code. + public void addUnigramWord(final String word, final int probability) { + if (TextUtils.isEmpty(word)) { + return; + } + final int[] codePoints = StringUtils.toCodePointArray(word); + addUnigramWordNative(mNativeDict, codePoints, probability); + } + + // Add a bigram entry to binary dictionary in native code. + public void addBigramWords(final String word0, final String word1, final int probability) { + if (TextUtils.isEmpty(word0) || TextUtils.isEmpty(word1)) { + return; + } + final int[] codePoints0 = StringUtils.toCodePointArray(word0); + final int[] codePoints1 = StringUtils.toCodePointArray(word1); + addBigramWordsNative(mNativeDict, codePoints0, codePoints1, probability); + } + + // Remove a bigram entry form binary dictionary in native code. + public void removeBigramWords(final String word0, final String word1) { + if (TextUtils.isEmpty(word0) || TextUtils.isEmpty(word1)) { + return; + } + final int[] codePoints0 = StringUtils.toCodePointArray(word0); + final int[] codePoints1 = StringUtils.toCodePointArray(word1); + removeBigramWordsNative(mNativeDict, codePoints0, codePoints1); } @Override |