aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp')
-rw-r--r--native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp b/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp
index 8ee0450e4..0f5c39642 100644
--- a/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp
+++ b/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp
@@ -23,21 +23,30 @@
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 *session = DicTraverseWrapper::getDicTraverseSession();
- return reinterpret_cast<jlong>(session);
+ void *traverseSession = DicTraverseWrapper::getDicTraverseSession();
+ return reinterpret_cast<jlong>(traverseSession);
}
-static void latinime_DicTraverseSession_release(JNIEnv *env, jobject object, jlong session) {
- void *pi = reinterpret_cast<void*>(session);
- if (!pi) return;
- DicTraverseWrapper::releaseDicTraverseSession(pi);
+static void latinime_initDicTraverseSession(JNIEnv *env, jlong traverseSession,
+ jintArray previousWord, jint previousWordLength) {
+ void *ts = reinterpret_cast<void*>(traverseSession);
+ DicTraverseWrapper::initDicTraverseSession(env, ts, previousWord, previousWordLength);
+}
+
+static void latinime_DicTraverseSession_release(
+ JNIEnv *env, jobject object, jlong traverseSession) {
+ void *ts = reinterpret_cast<void*>(traverseSession);
+ DicTraverseWrapper::releaseDicTraverseSession(ts);
}
static JNINativeMethod sMethods[] = {
{"setDicTraverseSessionNative", "(Ljava/lang/String;)J", (void*)latinime_setDicTraverseSession},
+ {"initDicTraverseSessionNative", "(J[II)V", (void*)latinime_initDicTraverseSession},
{"releaseDicTraverseSessionNative", "(J)V", (void*)latinime_DicTraverseSession_release}
};