aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-10-06 03:12:07 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-10-06 03:12:08 +0000
commit818c2ef5ef6416ef79f7048e36a57425757e6147 (patch)
tree96a052eb8e816e769e17f74f1499ed6b4139abfc /java/src
parent82065e36ec07e5ca18831a7428bc9b0c021fc47d (diff)
parent6accf63d0a1132ee582687592a6aa738ad4443f1 (diff)
downloadlatinime-818c2ef5ef6416ef79f7048e36a57425757e6147.tar.gz
latinime-818c2ef5ef6416ef79f7048e36a57425757e6147.tar.xz
latinime-818c2ef5ef6416ef79f7048e36a57425757e6147.zip
Merge "Make unit tests use new entry updating method."
Diffstat (limited to 'java/src')
-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;