diff options
Diffstat (limited to 'java/src/com/android/inputmethod/latin/BinaryDictionary.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/BinaryDictionary.java | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java index 438f67e35..aa530ffb9 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java @@ -57,7 +57,7 @@ public final class BinaryDictionary extends Dictionary { @UsedForTesting public static final String MAX_BIGRAM_COUNT_QUERY = "MAX_BIGRAM_COUNT"; - private static final int NOT_A_VALID_TIME_STAMP = -1; + public static final int NOT_A_VALID_TIMESTAMP = -1; private long mNativeDict; private final Locale mLocale; @@ -139,9 +139,9 @@ public final class BinaryDictionary extends Dictionary { private static native int editDistanceNative(int[] before, int[] after); private static native void addUnigramWordNative(long dict, int[] word, int probability, int[] shortcutTarget, int shortcutProbability, boolean isNotAWord, - boolean isBlacklisted, int timeStamp); + boolean isBlacklisted, int timestamp); private static native void addBigramWordsNative(long dict, int[] word0, int[] word1, - int probability, int timeStamp); + int probability, int timestamp); private static native void removeBigramWordsNative(long dict, int[] word0, int[] word1); private static native int addMultipleDictionaryEntriesNative(long dict, LanguageModelParam[] languageModelParams, int startIndex); @@ -290,27 +290,29 @@ public final class BinaryDictionary extends Dictionary { return getBigramProbabilityNative(mNativeDict, codePoints0, codePoints1); } - // Add a unigram entry to binary dictionary in native code. - public void addUnigramWord(final String word, final int probability) { + // Add a unigram entry to binary dictionary with unigram attributes in native code. + public void addUnigramWord(final String word, final int probability, + final String shortcutTarget, final int shortcutProbability, final boolean isNotAWord, + final boolean isBlacklisted, final int timestamp) { if (TextUtils.isEmpty(word)) { return; } final int[] codePoints = StringUtils.toCodePointArray(word); - final int[] shortcutTarget = new int[0]; - addUnigramWordNative(mNativeDict, codePoints, probability, shortcutTarget, - NOT_A_PROBABILITY, false /* isNotAWord */, false /* isBlacklisted */, - NOT_A_VALID_TIME_STAMP); + final int[] shortcutTargetCodePoints = (shortcutTarget != null) ? + StringUtils.toCodePointArray(shortcutTarget) : null; + addUnigramWordNative(mNativeDict, codePoints, probability, shortcutTargetCodePoints, + shortcutProbability, isNotAWord, isBlacklisted, timestamp); } - // Add a bigram entry to binary dictionary in native code. - public void addBigramWords(final String word0, final String word1, final int probability) { + // Add a bigram entry to binary dictionary with timestamp in native code. + public void addBigramWords(final String word0, final String word1, final int probability, + final int timestamp) { 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, - NOT_A_VALID_TIME_STAMP); + addBigramWordsNative(mNativeDict, codePoints0, codePoints1, probability, timestamp); } // Remove a bigram entry form binary dictionary in native code. @@ -332,10 +334,11 @@ public final class BinaryDictionary extends Dictionary { public final int mShortcutProbability; public final boolean mIsNotAWord; public final boolean mIsBlacklisted; - public final int mTimeStamp; + public final int mTimestamp; // Constructor for unigram. - public LanguageModelParam(final String word, final int unigramProbability) { + public LanguageModelParam(final String word, final int unigramProbability, + final int timestamp) { mWord0 = null; mWord1 = StringUtils.toCodePointArray(word); mShortcutTarget = null; @@ -344,12 +347,13 @@ public final class BinaryDictionary extends Dictionary { mShortcutProbability = NOT_A_PROBABILITY; mIsNotAWord = false; mIsBlacklisted = false; - mTimeStamp = NOT_A_VALID_TIME_STAMP; + mTimestamp = timestamp; } // Constructor for unigram and bigram. public LanguageModelParam(final String word0, final String word1, - final int unigramProbability, final int bigramProbability) { + final int unigramProbability, final int bigramProbability, + final int timestamp) { mWord0 = StringUtils.toCodePointArray(word0); mWord1 = StringUtils.toCodePointArray(word1); mShortcutTarget = null; @@ -358,7 +362,7 @@ public final class BinaryDictionary extends Dictionary { mShortcutProbability = NOT_A_PROBABILITY; mIsNotAWord = false; mIsBlacklisted = false; - mTimeStamp = NOT_A_VALID_TIME_STAMP; + mTimestamp = timestamp; } } |