aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-05-14 09:07:45 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-05-14 09:07:45 +0000
commit72d6061efbc025fbf5774aace80376a07b44bb7e (patch)
treebb4c6e331c1e257730fd66d529a12afb1f588f23 /native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
parentae1c53beadd5e739b49f16e6c45747ca3b469766 (diff)
parentd2f7cd28aefb71f3f340f1a8572e5477e5f5dfb3 (diff)
downloadlatinime-72d6061efbc025fbf5774aace80376a07b44bb7e.tar.gz
latinime-72d6061efbc025fbf5774aace80376a07b44bb7e.tar.xz
latinime-72d6061efbc025fbf5774aace80376a07b44bb7e.zip
Merge "Use JniDataUtils::outputCodePoints() to output code points"
Diffstat (limited to 'native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp')
-rw-r--r--native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
index a55b2da96..9098b714b 100644
--- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
+++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
@@ -149,14 +149,16 @@ static void latinime_BinaryDictionary_getHeaderInfo(JNIEnv *env, jclass clazz, j
it != attributeMap->end(); ++it) {
// Output key
jintArray keyCodePointArray = env->NewIntArray(it->first.size());
- env->SetIntArrayRegion(
- keyCodePointArray, 0 /* start */, it->first.size(), &it->first.at(0));
+ JniDataUtils::outputCodePoints(env, keyCodePointArray, 0 /* start */,
+ it->first.size(), it->first.data(), it->first.size(),
+ false /* needsNullTermination */);
env->CallBooleanMethod(outAttributeKeys, addMethodId, keyCodePointArray);
env->DeleteLocalRef(keyCodePointArray);
// Output value
jintArray valueCodePointArray = env->NewIntArray(it->second.size());
- env->SetIntArrayRegion(
- valueCodePointArray, 0 /* start */, it->second.size(), &it->second.at(0));
+ JniDataUtils::outputCodePoints(env, valueCodePointArray, 0 /* start */,
+ it->second.size(), it->second.data(), it->second.size(),
+ false /* needsNullTermination */);
env->CallBooleanMethod(outAttributeValues, addMethodId, valueCodePointArray);
env->DeleteLocalRef(valueCodePointArray);
}
@@ -301,6 +303,9 @@ static jint latinime_BinaryDictionary_getNextWord(JNIEnv *env, jclass clazz,
memset(wordCodePoints, 0, sizeof(wordCodePoints));
const int nextToken = dictionary->getNextWordAndNextToken(token, wordCodePoints);
env->SetIntArrayRegion(outCodePoints, 0, outCodePointsLength, wordCodePoints);
+ JniDataUtils::outputCodePoints(env, outCodePoints, 0 /* start */,
+ MAX_WORD_LENGTH /* maxLength */, wordCodePoints, outCodePointsLength,
+ false /* needsNullTermination */);
return nextToken;
}