diff options
author | 2014-10-06 03:12:07 +0000 | |
---|---|---|
committer | 2014-10-06 03:12:08 +0000 | |
commit | 818c2ef5ef6416ef79f7048e36a57425757e6147 (patch) | |
tree | 96a052eb8e816e769e17f74f1499ed6b4139abfc /java/src/com/android/inputmethod/latin/BinaryDictionary.java | |
parent | 82065e36ec07e5ca18831a7428bc9b0c021fc47d (diff) | |
parent | 6accf63d0a1132ee582687592a6aa738ad4443f1 (diff) | |
download | latinime-818c2ef5ef6416ef79f7048e36a57425757e6147.tar.gz latinime-818c2ef5ef6416ef79f7048e36a57425757e6147.tar.xz latinime-818c2ef5ef6416ef79f7048e36a57425757e6147.zip |
Merge "Make unit tests use new entry updating method."
Diffstat (limited to 'java/src/com/android/inputmethod/latin/BinaryDictionary.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/BinaryDictionary.java | 20 |
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; |