diff options
author | 2012-04-24 18:06:51 +0900 | |
---|---|---|
committer | 2012-04-26 15:24:42 +0900 | |
commit | 351864b38a2a19a3b591efe3ed58a5998bb4c79d (patch) | |
tree | b9ec07ca658c6bcf73eaa4c193451dec35b61776 /native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp | |
parent | 49caddbdabe5ca666bdef9f842f134e30e7ffed9 (diff) | |
download | latinime-351864b38a2a19a3b591efe3ed58a5998bb4c79d.tar.gz latinime-351864b38a2a19a3b591efe3ed58a5998bb4c79d.tar.xz latinime-351864b38a2a19a3b591efe3ed58a5998bb4c79d.zip |
Fetch and pass the bigram position on suggestions.
This is a cherry-pick of change I2d81742f
Bug: 6313806
Change-Id: Ic1190b7980d032bc11b57841bca040d980889b6b
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); |