diff options
author | 2012-08-09 23:23:08 +0900 | |
---|---|---|
committer | 2012-08-10 12:34:00 +0900 | |
commit | e9f3e182e4b3217282831fd8805958270b4dbba3 (patch) | |
tree | 051a09d04947bef2f4202dd2e435818b945fc8d2 /native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp | |
parent | 5bb420627520412a621121f5c21da123f6a4cb1c (diff) | |
download | latinime-e9f3e182e4b3217282831fd8805958270b4dbba3.tar.gz latinime-e9f3e182e4b3217282831fd8805958270b4dbba3.tar.xz latinime-e9f3e182e4b3217282831fd8805958270b4dbba3.zip |
Add arguments for dic traverse session
Change-Id: I8776ad528eeea9a5fc4dcf394ca13bb80c04fb6d
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} }; |