aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2013-09-30 21:39:43 +0900
committerJean Chalard <jchalard@google.com>2013-10-01 15:04:15 +0900
commitbb57090f1da9d1fc5a0eda9b627d3f8c8b25ab42 (patch)
treef3d50deaeb80bca0f6474b415565b0ebaccbca16 /native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
parent2c1faeda2cf672175daf3715beb1778edd850282 (diff)
downloadlatinime-bb57090f1da9d1fc5a0eda9b627d3f8c8b25ab42.tar.gz
latinime-bb57090f1da9d1fc5a0eda9b627d3f8c8b25ab42.tar.xz
latinime-bb57090f1da9d1fc5a0eda9b627d3f8c8b25ab42.zip
Create the wiring for auto-commit confidence computation.
Bug: 9059617 Change-Id: I7e4e05ffa8c68cfebbe362a977fd176555cad12a
Diffstat (limited to 'native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp')
-rw-r--r--native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
index c5ef264fc..21c15ea67 100644
--- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
+++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
@@ -142,7 +142,7 @@ static int latinime_BinaryDictionary_getSuggestions(JNIEnv *env, jclass clazz, j
jintArray inputCodePointsArray, jint inputSize, jint commitPoint, jintArray suggestOptions,
jintArray prevWordCodePointsForBigrams, jintArray outputCodePointsArray,
jintArray scoresArray, jintArray spaceIndicesArray, jintArray outputTypesArray,
- jintArray outputAutoCommitFirstWordConfidence) {
+ jintArray outputAutoCommitFirstWordConfidenceArray) {
Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict);
if (!dictionary) return 0;
ProximityInfo *pInfo = reinterpret_cast<ProximityInfo *>(proximityInfo);
@@ -196,17 +196,23 @@ static int latinime_BinaryDictionary_getSuggestions(JNIEnv *env, jclass clazz, j
int spaceIndices[spaceIndicesLength];
const jsize outputTypesLength = env->GetArrayLength(outputTypesArray);
int outputTypes[outputTypesLength];
+ const jsize outputAutoCommitFirstWordConfidenceLength =
+ env->GetArrayLength(outputAutoCommitFirstWordConfidenceArray);
+ // We only use the first result, as obviously we will only ever autocommit the first one
+ ASSERT(outputAutoCommitFirstWordConfidenceLength == 1);
+ int outputAutoCommitFirstWordConfidence[outputAutoCommitFirstWordConfidenceLength];
memset(outputCodePoints, 0, sizeof(outputCodePoints));
memset(scores, 0, sizeof(scores));
memset(spaceIndices, 0, sizeof(spaceIndices));
memset(outputTypes, 0, sizeof(outputTypes));
+ memset(outputAutoCommitFirstWordConfidence, 0, sizeof(outputAutoCommitFirstWordConfidence));
int count;
if (givenSuggestOptions.isGesture() || inputSize > 0) {
count = dictionary->getSuggestions(pInfo, traverseSession, xCoordinates, yCoordinates,
times, pointerIds, inputCodePoints, inputSize, prevWordCodePoints,
prevWordCodePointsLength, commitPoint, &givenSuggestOptions, outputCodePoints,
- scores, spaceIndices, outputTypes);
+ scores, spaceIndices, outputTypes, outputAutoCommitFirstWordConfidence);
} else {
count = dictionary->getBigrams(prevWordCodePoints, prevWordCodePointsLength,
outputCodePoints, scores, outputTypes);
@@ -217,6 +223,8 @@ static int latinime_BinaryDictionary_getSuggestions(JNIEnv *env, jclass clazz, j
env->SetIntArrayRegion(scoresArray, 0, scoresLength, scores);
env->SetIntArrayRegion(spaceIndicesArray, 0, spaceIndicesLength, spaceIndices);
env->SetIntArrayRegion(outputTypesArray, 0, outputTypesLength, outputTypes);
+ env->SetIntArrayRegion(outputAutoCommitFirstWordConfidenceArray, 0,
+ outputAutoCommitFirstWordConfidenceLength, outputAutoCommitFirstWordConfidence);
return count;
}