diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index b47b7e39d1e88..0b1c8b7f5335c 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -182,6 +182,8 @@ extern int register_android_view_KeyEvent(JNIEnv* env); extern int register_android_view_MotionEvent(JNIEnv* env); extern int register_android_view_PointerIcon(JNIEnv* env); extern int register_android_view_VelocityTracker(JNIEnv* env); +extern int register_android_view_VerifiedKeyEvent(JNIEnv* env); +extern int register_android_view_VerifiedMotionEvent(JNIEnv* env); extern int register_android_content_res_ObbScanner(JNIEnv* env); extern int register_android_content_res_Configuration(JNIEnv* env); extern int register_android_animation_PropertyValuesHolder(JNIEnv *env); @@ -1562,6 +1564,8 @@ static const RegJNIRec gRegJNI[] = { REG_JNI(register_android_view_MotionEvent), REG_JNI(register_android_view_PointerIcon), REG_JNI(register_android_view_VelocityTracker), + REG_JNI(register_android_view_VerifiedKeyEvent), + REG_JNI(register_android_view_VerifiedMotionEvent), REG_JNI(register_android_content_res_ObbScanner), REG_JNI(register_android_content_res_Configuration), diff --git a/core/jni/android_view_VerifiedKeyEvent.cpp b/core/jni/android_view_VerifiedKeyEvent.cpp index 8fc301ccc735f..bba10aa0afeb5 100644 --- a/core/jni/android_view_VerifiedKeyEvent.cpp +++ b/core/jni/android_view_VerifiedKeyEvent.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#define LOG_TAG "MotionEvent-JNI" +#define LOG_TAG "VerifiedKey-JNI" #include "android_view_VerifiedKeyEvent.h" #include @@ -22,18 +22,29 @@ namespace android { +static struct { + jclass clazz; + + jmethodID constructor; +} gVerifiedKeyEventClassInfo; + // ---------------------------------------------------------------------------- jobject android_view_VerifiedKeyEvent(JNIEnv* env, const VerifiedKeyEvent& event) { - static jclass clazz = FindClassOrDie(env, "android/view/VerifiedKeyEvent"); + return env->NewObject(gVerifiedKeyEventClassInfo.clazz, gVerifiedKeyEventClassInfo.constructor, + event.deviceId, event.eventTimeNanos, event.source, event.displayId, + event.action, event.downTimeNanos, event.flags, event.keyCode, + event.scanCode, event.metaState, event.repeatCount); +} - static jmethodID constructor = GetMethodIDOrDie(env, clazz, "", "(IJIIIJIIIII)V"); +int register_android_view_VerifiedKeyEvent(JNIEnv* env) { + jclass clazz = FindClassOrDie(env, "android/view/VerifiedKeyEvent"); + gVerifiedKeyEventClassInfo.clazz = MakeGlobalRefOrDie(env, clazz); - jobject object = - env->NewObject(clazz, constructor, event.deviceId, event.eventTimeNanos, event.source, - event.displayId, event.action, event.downTimeNanos, event.flags, - event.keyCode, event.scanCode, event.metaState, event.repeatCount); - return object; + gVerifiedKeyEventClassInfo.constructor = + GetMethodIDOrDie(env, clazz, "", "(IJIIIJIIIII)V"); + + return OK; } } // namespace android diff --git a/core/jni/android_view_VerifiedMotionEvent.cpp b/core/jni/android_view_VerifiedMotionEvent.cpp index 7a5c71aa6602f..c2811975ce232 100644 --- a/core/jni/android_view_VerifiedMotionEvent.cpp +++ b/core/jni/android_view_VerifiedMotionEvent.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#define LOG_TAG "MotionEvent-JNI" +#define LOG_TAG "VerifiedMotion-JNI" #include "android_view_VerifiedMotionEvent.h" #include @@ -22,18 +22,30 @@ namespace android { +static struct { + jclass clazz; + + jmethodID constructor; +} gVerifiedMotionEventClassInfo; + // ---------------------------------------------------------------------------- jobject android_view_VerifiedMotionEvent(JNIEnv* env, const VerifiedMotionEvent& event) { - static jclass clazz = FindClassOrDie(env, "android/view/VerifiedMotionEvent"); + return env->NewObject(gVerifiedMotionEventClassInfo.clazz, + gVerifiedMotionEventClassInfo.constructor, event.deviceId, + event.eventTimeNanos, event.source, event.displayId, event.rawX, + event.rawY, event.actionMasked, event.downTimeNanos, event.flags, + event.metaState, event.buttonState); +} - static jmethodID constructor = GetMethodIDOrDie(env, clazz, "", "(IJIIFFIJIII)V"); +int register_android_view_VerifiedMotionEvent(JNIEnv* env) { + jclass clazz = FindClassOrDie(env, "android/view/VerifiedMotionEvent"); + gVerifiedMotionEventClassInfo.clazz = MakeGlobalRefOrDie(env, clazz); - jobject object = - env->NewObject(clazz, constructor, event.deviceId, event.eventTimeNanos, event.source, - event.displayId, event.rawX, event.rawY, event.actionMasked, - event.downTimeNanos, event.flags, event.metaState, event.buttonState); - return object; + gVerifiedMotionEventClassInfo.constructor = + GetMethodIDOrDie(env, clazz, "", "(IJIIFFIJIII)V"); + + return OK; } } // namespace android