diff options
author | 2012-04-26 00:28:35 -0700 | |
---|---|---|
committer | 2012-04-26 00:28:35 -0700 | |
commit | b096e3f5899f5397589cc6ef0edf1c5ab5d43513 (patch) | |
tree | 35d8d1950289d353528e98f0992e10d85ff3b117 /native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp | |
parent | 33d050e864f0559a13527a980c8412e0c3a75449 (diff) | |
parent | 604599c38913cc1cce38cf5f5b018b5507cf3766 (diff) | |
download | latinime-b096e3f5899f5397589cc6ef0edf1c5ab5d43513.tar.gz latinime-b096e3f5899f5397589cc6ef0edf1c5ab5d43513.tar.xz latinime-b096e3f5899f5397589cc6ef0edf1c5ab5d43513.zip |
am 604599c3: Merge "Fetch and pass the bigram position on suggestions." into jb-dev
* commit '604599c38913cc1cce38cf5f5b018b5507cf3766':
Fetch and pass the bigram position on suggestions.
Diffstat (limited to 'native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp')
-rw-r--r-- | native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp index 3e72ce684..de9dbf9fd 100644 --- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp +++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp @@ -137,13 +137,15 @@ static int latinime_BinaryDictionary_getSuggestions(JNIEnv *env, jobject object, int *frequencies = env->GetIntArrayElements(frequencyArray, 0); int *inputCodes = env->GetIntArrayElements(inputArray, 0); jchar *outputChars = env->GetCharArrayElements(outputArray, 0); - // Deactivated to prevent unused variable errors. - // TODO: use the following variables. - // jint *prevWordChars = prevWordForBigrams - // ? env->GetIntArrayElements(prevWordForBigrams, 0) : NULL; - // jsize prevWordLength = prevWordChars ? env->GetArrayLength(prevWordForBigrams) : 0; + jint *prevWordChars = prevWordForBigrams + ? env->GetIntArrayElements(prevWordForBigrams, 0) : 0; + jsize prevWordLength = prevWordChars ? env->GetArrayLength(prevWordForBigrams) : 0; int count = dictionary->getSuggestions(pInfo, xCoordinates, yCoordinates, inputCodes, - arraySize, useFullEditDistance, (unsigned short*) outputChars, frequencies); + arraySize, prevWordChars, prevWordLength, useFullEditDistance, + (unsigned short*) outputChars, frequencies); + if (prevWordChars) { + env->ReleaseIntArrayElements(prevWordForBigrams, prevWordChars, JNI_ABORT); + } env->ReleaseCharArrayElements(outputArray, outputChars, 0); env->ReleaseIntArrayElements(inputArray, inputCodes, JNI_ABORT); env->ReleaseIntArrayElements(frequencyArray, frequencies, 0); |