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:12:15 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-05-14 09:12:15 +0000
commit4d3253326e4dbb46cc819e25ca6e2b0e153a5c0c (patch)
treebb4c6e331c1e257730fd66d529a12afb1f588f23 /native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
parent2e661720dd748e692f5f3b8afc1c8a736f15ce88 (diff)
parent72d6061efbc025fbf5774aace80376a07b44bb7e (diff)
downloadlatinime-4d3253326e4dbb46cc819e25ca6e2b0e153a5c0c.tar.gz
latinime-4d3253326e4dbb46cc819e25ca6e2b0e153a5c0c.tar.xz
latinime-4d3253326e4dbb46cc819e25ca6e2b0e153a5c0c.zip
am 72d6061e: Merge "Use JniDataUtils::outputCodePoints() to output code points"
* commit '72d6061efbc025fbf5774aace80376a07b44bb7e': 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;
}