aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-04-26 00:28:35 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-04-26 00:28:35 -0700
commitb096e3f5899f5397589cc6ef0edf1c5ab5d43513 (patch)
tree35d8d1950289d353528e98f0992e10d85ff3b117 /native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
parent33d050e864f0559a13527a980c8412e0c3a75449 (diff)
parent604599c38913cc1cce38cf5f5b018b5507cf3766 (diff)
downloadlatinime-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.cpp14
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);