aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorKeisuke Kuroynagi <ksk@google.com>2013-07-04 21:17:49 +0900
committerKeisuke Kuroynagi <ksk@google.com>2013-07-04 21:17:49 +0900
commitf8d2796724b67ffb7e02c033ae15183a0d58febe (patch)
treea8ba11599ea9cf94eef22317a0631175e662a50d /java
parent24025135562791d3f569e39509425b4c9624e310 (diff)
downloadlatinime-f8d2796724b67ffb7e02c033ae15183a0d58febe.tar.gz
latinime-f8d2796724b67ffb7e02c033ae15183a0d58febe.tar.xz
latinime-f8d2796724b67ffb7e02c033ae15183a0d58febe.zip
Add methods for dynamic updating binary dictionary.
Bug: 6669677 Change-Id: I7e681ceec2af712214a647630350cb20be6b0354
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/inputmethod/latin/BinaryDictionary.java37
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