aboutsummaryrefslogtreecommitdiffstats
path: root/native
diff options
context:
space:
mode:
Diffstat (limited to 'native')
-rw-r--r--native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp17
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/utils/dict_file_writing_utils.cpp24
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/utils/dict_file_writing_utils.h4
3 files changed, 8 insertions, 37 deletions
diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
index 3add84a0a..22ad2d0ab 100644
--- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
+++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
@@ -275,17 +275,16 @@ static jint latinime_BinaryDictionary_getMaxProbabilityOfExactMatches(
}
static jint latinime_BinaryDictionary_getNgramProbability(JNIEnv *env, jclass clazz,
- jlong dict, jintArray word0, jboolean isBeginningOfSentence, jintArray word1) {
+ jlong dict, jobjectArray prevWordCodePointArrays, jbooleanArray isBeginningOfSentenceArray,
+ jintArray word) {
Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict);
if (!dictionary) return JNI_FALSE;
- const jsize word0Length = env->GetArrayLength(word0);
- const jsize word1Length = env->GetArrayLength(word1);
- int word0CodePoints[word0Length];
- int word1CodePoints[word1Length];
- env->GetIntArrayRegion(word0, 0, word0Length, word0CodePoints);
- env->GetIntArrayRegion(word1, 0, word1Length, word1CodePoints);
- const PrevWordsInfo prevWordsInfo(word0CodePoints, word0Length, isBeginningOfSentence);
- return dictionary->getNgramProbability(&prevWordsInfo, word1CodePoints, word1Length);
+ const jsize wordLength = env->GetArrayLength(word);
+ int wordCodePoints[wordLength];
+ env->GetIntArrayRegion(word, 0, wordLength, wordCodePoints);
+ const PrevWordsInfo prevWordsInfo = JniDataUtils::constructPrevWordsInfo(env,
+ prevWordCodePointArrays, isBeginningOfSentenceArray);
+ return dictionary->getNgramProbability(&prevWordsInfo, wordCodePoints, wordLength);
}
// Method to iterate all words in the dictionary for makedict.
diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/dict_file_writing_utils.cpp b/native/jni/src/suggest/policyimpl/dictionary/utils/dict_file_writing_utils.cpp
index 4da339b0a..1d202c3dd 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/utils/dict_file_writing_utils.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/utils/dict_file_writing_utils.cpp
@@ -77,30 +77,6 @@ template<class DictConstants, class DictBuffers, class DictBuffersPtr>
return dictBuffers->flush(dirPath);
}
-/* static */ bool DictFileWritingUtils::flushAllHeaderAndBodyToFile(const char *const filePath,
- BufferWithExtendableBuffer *const dictHeader, BufferWithExtendableBuffer *const dictBody) {
- const int tmpFileNameBufSize = FileUtils::getFilePathWithSuffixBufSize(filePath,
- TEMP_FILE_SUFFIX_FOR_WRITING_DICT_FILE);
- // Name of a temporary file used for writing that is a connected string of original name and
- // TEMP_FILE_SUFFIX_FOR_WRITING_DICT_FILE.
- char tmpFileName[tmpFileNameBufSize];
- FileUtils::getFilePathWithSuffix(filePath, TEMP_FILE_SUFFIX_FOR_WRITING_DICT_FILE,
- tmpFileNameBufSize, tmpFileName);
- if (!DictFileWritingUtils::flushBufferToFile(tmpFileName, dictHeader)) {
- AKLOGE("Dictionary header cannot be written to %s.", tmpFileName);
- return false;
- }
- if (!DictFileWritingUtils::flushBufferToFile(tmpFileName, dictBody)) {
- AKLOGE("Dictionary structure cannot be written to %s.", tmpFileName);
- return false;
- }
- if (rename(tmpFileName, filePath) != 0) {
- AKLOGE("Dictionary file %s cannot be renamed to %s", tmpFileName, filePath);;
- return false;
- }
- return true;
-}
-
/* static */ bool DictFileWritingUtils::flushBufferToFileWithSuffix(const char *const basePath,
const char *const suffix, const BufferWithExtendableBuffer *const buffer) {
const int filePathBufSize = FileUtils::getFilePathWithSuffixBufSize(basePath, suffix);
diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/dict_file_writing_utils.h b/native/jni/src/suggest/policyimpl/dictionary/utils/dict_file_writing_utils.h
index 5df5856d2..0dd1256ee 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/utils/dict_file_writing_utils.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/utils/dict_file_writing_utils.h
@@ -35,10 +35,6 @@ class DictFileWritingUtils {
const std::vector<int> localeAsCodePointVector,
const DictionaryHeaderStructurePolicy::AttributeMap *const attributeMap);
- static bool flushAllHeaderAndBodyToFile(const char *const filePath,
- BufferWithExtendableBuffer *const dictHeader,
- BufferWithExtendableBuffer *const dictBody);
-
static bool flushBufferToFileWithSuffix(const char *const basePath, const char *const suffix,
const BufferWithExtendableBuffer *const buffer);