aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/BinaryDictionary.java
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-10-06 12:09:15 +0900
committerKeisuke Kuroyanagi <ksk@google.com>2014-10-06 12:09:15 +0900
commit6accf63d0a1132ee582687592a6aa738ad4443f1 (patch)
tree505e7a4f9141f8aa5334cb2434cfcaef5f26af08 /java/src/com/android/inputmethod/latin/BinaryDictionary.java
parent46fcb3f91fcd413e6cf600a763b7edf59d0bd966 (diff)
downloadlatinime-6accf63d0a1132ee582687592a6aa738ad4443f1.tar.gz
latinime-6accf63d0a1132ee582687592a6aa738ad4443f1.tar.xz
latinime-6accf63d0a1132ee582687592a6aa738ad4443f1.zip
Make unit tests use new entry updating method.
Bug: 14425059 Change-Id: Ie7d92e92822a0d3a8b654d213e55d45aab799f5d
Diffstat (limited to 'java/src/com/android/inputmethod/latin/BinaryDictionary.java')
-rw-r--r--java/src/com/android/inputmethod/latin/BinaryDictionary.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
index 6f3c48c47..86c265f86 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
@@ -199,6 +199,7 @@ public final class BinaryDictionary extends Dictionary {
int[] word, int probability, int timestamp);
private static native boolean removeNgramEntryNative(long dict,
int[][] prevWordCodePointArrays, boolean[] isBeginningOfSentenceArray, int[] word);
+ // TODO: Rename to updateEntriesForWordWithNgramContextNative.
private static native boolean updateCounterNative(long dict,
int[][] prevWordCodePointArrays, boolean[] isBeginningOfSentenceArray,
int[] word, boolean isValidWord, int count, int timestamp);
@@ -493,6 +494,25 @@ public final class BinaryDictionary extends Dictionary {
return true;
}
+ // Update entries for the word occurrence with the ngramContext.
+ @UsedForTesting
+ public boolean updateEntriesForWordWithNgramContext(final NgramContext ngramContext,
+ final String word, final boolean isValidWord, final int count, final int timestamp) {
+ if (TextUtils.isEmpty(word)) {
+ return false;
+ }
+ final int[][] prevWordCodePointArrays = new int[ngramContext.getPrevWordCount()][];
+ final boolean[] isBeginningOfSentenceArray = new boolean[ngramContext.getPrevWordCount()];
+ ngramContext.outputToArray(prevWordCodePointArrays, isBeginningOfSentenceArray);
+ final int[] wordCodePoints = StringUtils.toCodePointArray(word);
+ if (!updateCounterNative(mNativeDict, prevWordCodePointArrays,
+ isBeginningOfSentenceArray, wordCodePoints, isValidWord, count, timestamp)) {
+ return false;
+ }
+ mHasUpdated = true;
+ return true;
+ }
+
@UsedForTesting
public void addMultipleDictionaryEntries(final LanguageModelParam[] languageModelParams) {
if (!isValidDictionary()) return;