diff options
Diffstat (limited to 'native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp')
-rw-r--r-- | native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp index 5fc20eaa0..81997b71e 100644 --- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp +++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp @@ -291,7 +291,7 @@ static void latinime_BinaryDictionary_addUnigramWord(JNIEnv *env, jclass clazz, if (shortcutTarget) { env->GetIntArrayRegion(shortcutTarget, 0, shortcutLength, shortcutTargetCodePoints); } - dictionary->addUnigramWord(codePoints, wordLength, probability); + dictionary->addUnigramWord(codePoints, wordLength, probability, timeStamp); } static void latinime_BinaryDictionary_addBigramWords(JNIEnv *env, jclass clazz, jlong dict, @@ -307,7 +307,7 @@ static void latinime_BinaryDictionary_addBigramWords(JNIEnv *env, jclass clazz, int word1CodePoints[word1Length]; env->GetIntArrayRegion(word1, 0, word1Length, word1CodePoints); dictionary->addBigramWords(word0CodePoints, word0Length, word1CodePoints, - word1Length, probability); + word1Length, probability, timeStamp); } static void latinime_BinaryDictionary_removeBigramWords(JNIEnv *env, jclass clazz, jlong dict, @@ -342,13 +342,15 @@ static int latinime_BinaryDictionary_addMultipleDictionaryEntries(JNIEnv *env, j jclass languageModelParamClass = env->GetObjectClass(languageModelParam); env->DeleteLocalRef(languageModelParam); - // TODO: Support shortcut, timestamp and flags. + // TODO: Support shortcut and flags. jfieldID word0FieldId = env->GetFieldID(languageModelParamClass, "mWord0", "[I"); jfieldID word1FieldId = env->GetFieldID(languageModelParamClass, "mWord1", "[I"); jfieldID unigramProbabilityFieldId = env->GetFieldID(languageModelParamClass, "mUnigramProbability", "I"); jfieldID bigramProbabilityFieldId = env->GetFieldID(languageModelParamClass, "mBigramProbability", "I"); + jfieldID timeStampFieldId = + env->GetFieldID(languageModelParamClass, "mTimeStamp", "I"); env->DeleteLocalRef(languageModelParamClass); for (int i = startIndex; i < languageModelParamCount; ++i) { @@ -369,11 +371,12 @@ static int latinime_BinaryDictionary_addMultipleDictionaryEntries(JNIEnv *env, j int word1CodePoints[word1Length]; env->GetIntArrayRegion(word1, 0, word1Length, word1CodePoints); jint unigramProbability = env->GetIntField(languageModelParam, unigramProbabilityFieldId); - dictionary->addUnigramWord(word1CodePoints, word1Length, unigramProbability); + jint timeStamp = env->GetIntField(languageModelParam, timeStampFieldId); + dictionary->addUnigramWord(word1CodePoints, word1Length, unigramProbability, timeStamp); if (word0) { jint bigramProbability = env->GetIntField(languageModelParam, bigramProbabilityFieldId); dictionary->addBigramWords(word0CodePoints, word0Length, word1CodePoints, word1Length, - bigramProbability); + bigramProbability, timeStamp); } if (dictionary->needsToRunGC(true /* mindsBlockByGC */)) { return i + 1; |