diff --git a/core/jni/android_view_InputQueue.cpp b/core/jni/android_view_InputQueue.cpp index b910d1664ad1..74bbd7b2cb32 100644 --- a/core/jni/android_view_InputQueue.cpp +++ b/core/jni/android_view_InputQueue.cpp @@ -269,8 +269,7 @@ int register_android_view_InputQueue(JNIEnv* env) return RegisterMethodsOrDie(env, kInputQueuePathName, g_methods, NELEM(g_methods)); } -AInputQueue* android_view_InputQueue_getNativePtr(jobject inputQueue) { - JNIEnv* env = AndroidRuntime::getJNIEnv(); +AInputQueue* android_view_InputQueue_getNativePtr(JNIEnv* env, jobject inputQueue) { jlong ptr = env->CallLongMethod(inputQueue, gInputQueueClassInfo.getNativePtr); return reinterpret_cast(ptr); } diff --git a/core/jni/include/android_runtime/android_view_InputQueue.h b/core/jni/include/android_runtime/android_view_InputQueue.h index c1b611cf303e..115e2f8605b0 100644 --- a/core/jni/include/android_runtime/android_view_InputQueue.h +++ b/core/jni/include/android_runtime/android_view_InputQueue.h @@ -80,7 +80,7 @@ private: Vector > mFinishedEvents; }; -extern AInputQueue* android_view_InputQueue_getNativePtr(jobject inputQueue); +extern AInputQueue* android_view_InputQueue_getNativePtr(JNIEnv* env, jobject inputQueue); } // namespace android diff --git a/native/android/input.cpp b/native/android/input.cpp index 4de2c23e62b8..c06c81ed03ec 100644 --- a/native/android/input.cpp +++ b/native/android/input.cpp @@ -330,6 +330,6 @@ void AInputQueue_finishEvent(AInputQueue* queue, AInputEvent* event, int handled iq->finishEvent(e, handled != 0); } -AInputQueue* AInputQueue_fromJava(jobject inputQueue) { - return android::android_view_InputQueue_getNativePtr(inputQueue); +AInputQueue* AInputQueue_fromJava(JNIEnv* env, jobject inputQueue) { + return android::android_view_InputQueue_getNativePtr(env, inputQueue); }