diff options
author | 2013-10-03 12:17:19 -0700 | |
---|---|---|
committer | 2013-10-03 12:17:19 -0700 | |
commit | 6540132d942e20a8c95d00f939da49c0938bde4b (patch) | |
tree | ebd2e0081acb06a7de3df5a03d33c4cd78cd9a4d /native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp | |
parent | 9cbb33f1b8a3aaa0bc9fb4f4e3ae16522c7b7305 (diff) | |
parent | de12fcb0f22eec6ff0650a45e937da168bbb6fbc (diff) | |
download | latinime-6540132d942e20a8c95d00f939da49c0938bde4b.tar.gz latinime-6540132d942e20a8c95d00f939da49c0938bde4b.tar.xz latinime-6540132d942e20a8c95d00f939da49c0938bde4b.zip |
am de12fcb0: am 8b580819: Merge "Add unigram/bigram counting."
* commit 'de12fcb0f22eec6ff0650a45e937da168bbb6fbc':
Add unigram/bigram counting.
Diffstat (limited to 'native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp')
-rw-r--r-- | native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp index 7761ec4d5..85e100e33 100644 --- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp +++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp @@ -323,6 +323,24 @@ static int latinime_BinaryDictionary_calculateProbabilityNative(JNIEnv *env, jcl bigramProbability); } +static jstring latinime_BinaryDictionary_getProperty(JNIEnv *env, jclass clazz, jlong dict, + jstring query) { + Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict); + if (!dictionary) { + return env->NewStringUTF(""); + } + const jsize queryUtf8Length = env->GetStringUTFLength(query); + char queryChars[queryUtf8Length + 1]; + env->GetStringUTFRegion(query, 0, env->GetStringLength(query), queryChars); + queryChars[queryUtf8Length] = '\0'; + static const int GET_PROPERTY_RESULT_LENGTH = 100; + char resultChars[GET_PROPERTY_RESULT_LENGTH]; + resultChars[0] = '\0'; + dictionary->getDictionaryStructurePolicy()->getProperty(queryChars, resultChars, + GET_PROPERTY_RESULT_LENGTH); + return env->NewStringUTF(resultChars); +} + static const JNINativeMethod sMethods[] = { { const_cast<char *>("createEmptyDictFileNative"), @@ -398,6 +416,11 @@ static const JNINativeMethod sMethods[] = { const_cast<char *>("calculateProbabilityNative"), const_cast<char *>("(JII)I"), reinterpret_cast<void *>(latinime_BinaryDictionary_calculateProbabilityNative) + }, + { + const_cast<char *>("getPropertyNative"), + const_cast<char *>("(JLjava/lang/String;)Ljava/lang/String;"), + reinterpret_cast<void *>(latinime_BinaryDictionary_getProperty) } }; |