diff options
author | 2012-08-09 20:56:43 -0700 | |
---|---|---|
committer | 2012-08-09 20:56:43 -0700 | |
commit | f775fcfba32543bab06d773f0505611d75677a8c (patch) | |
tree | e0b813b8809090bd3f1db8e341cbdb50e845e285 /native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp | |
parent | 7b035803406fc58317b747e0f138618b96727d16 (diff) | |
parent | ab45cc6e5c96bee7d020135639c66ba0322e3649 (diff) | |
download | latinime-f775fcfba32543bab06d773f0505611d75677a8c.tar.gz latinime-f775fcfba32543bab06d773f0505611d75677a8c.tar.xz latinime-f775fcfba32543bab06d773f0505611d75677a8c.zip |
am ab45cc6e: am e9f3e182: Add arguments for dic traverse session
* commit 'ab45cc6e5c96bee7d020135639c66ba0322e3649':
Add arguments for dic traverse session
Diffstat (limited to 'native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp')
-rw-r--r-- | native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp b/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp index 0f5c39642..f0fa2db2a 100644 --- a/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp +++ b/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp @@ -17,25 +17,23 @@ #define LOG_TAG "LatinIME: jni: Session" #include "com_android_inputmethod_latin_DicTraverseSession.h" +#include "dic_traverse_wrapper.h" #include "jni.h" #include "jni_common.h" namespace latinime { -void *(*DicTraverseWrapper::sDicTraverseSessionFactoryMethod)() = 0; -void (*DicTraverseWrapper::sDicTraverseSessionReleaseMethod)(void *) = 0; -void (*DicTraverseWrapper::sDicTraverseSessionInitMethod)( - JNIEnv *, void *, const jintArray, const jint) = 0; - -static jlong latinime_setDicTraverseSession(JNIEnv *env, jobject object, - jstring localejStr) { - void *traverseSession = DicTraverseWrapper::getDicTraverseSession(); +static jlong latinime_setDicTraverseSession(JNIEnv *env, jobject object, jstring localeJStr) { + void *traverseSession = DicTraverseWrapper::getDicTraverseSession(env, localeJStr); return reinterpret_cast<jlong>(traverseSession); } static void latinime_initDicTraverseSession(JNIEnv *env, jlong traverseSession, - jintArray previousWord, jint previousWordLength) { + jlong dictionary, jintArray previousWord, jint previousWordLength) { void *ts = reinterpret_cast<void*>(traverseSession); - DicTraverseWrapper::initDicTraverseSession(env, ts, previousWord, previousWordLength); + Dictionary *dict = reinterpret_cast<Dictionary*>(dictionary); + int prevWord[previousWordLength]; + env->GetIntArrayRegion(previousWord, 0, previousWordLength, prevWord); + DicTraverseWrapper::initDicTraverseSession(ts, dict, prevWord, previousWordLength); } static void latinime_DicTraverseSession_release( @@ -46,7 +44,7 @@ static void latinime_DicTraverseSession_release( static JNINativeMethod sMethods[] = { {"setDicTraverseSessionNative", "(Ljava/lang/String;)J", (void*)latinime_setDicTraverseSession}, - {"initDicTraverseSessionNative", "(J[II)V", (void*)latinime_initDicTraverseSession}, + {"initDicTraverseSessionNative", "(JJ[II)V", (void*)latinime_initDicTraverseSession}, {"releaseDicTraverseSessionNative", "(J)V", (void*)latinime_DicTraverseSession_release} }; |