diff --git a/core/jni/android_view_MotionEvent.cpp b/core/jni/android_view_MotionEvent.cpp index 49f47c56e6a6b..2e9f1790a4a56 100644 --- a/core/jni/android_view_MotionEvent.cpp +++ b/core/jni/android_view_MotionEvent.cpp @@ -316,8 +316,9 @@ static void pointerPropertiesToNative(JNIEnv* env, jobject pointerPropertiesObj, outPointerProperties->clear(); outPointerProperties->id = env->GetIntField(pointerPropertiesObj, gPointerPropertiesClassInfo.id); - outPointerProperties->toolType = env->GetIntField(pointerPropertiesObj, + const int32_t toolType = env->GetIntField(pointerPropertiesObj, gPointerPropertiesClassInfo.toolType); + outPointerProperties->toolType = static_cast(toolType); } static void pointerPropertiesFromNative(JNIEnv* env, const PointerProperties* pointerProperties, @@ -325,7 +326,7 @@ static void pointerPropertiesFromNative(JNIEnv* env, const PointerProperties* po env->SetIntField(outPointerPropertiesObj, gPointerPropertiesClassInfo.id, pointerProperties->id); env->SetIntField(outPointerPropertiesObj, gPointerPropertiesClassInfo.toolType, - pointerProperties->toolType); + static_cast(pointerProperties->toolType)); } @@ -535,7 +536,7 @@ static jint android_view_MotionEvent_nativeGetToolType(JNIEnv* env, jclass clazz if (!validatePointerIndex(env, pointerIndex, *event)) { return -1; } - return event->getToolType(pointerIndex); + return static_cast(event->getToolType(pointerIndex)); } static jlong android_view_MotionEvent_nativeGetEventTimeNanos(JNIEnv* env, jclass clazz, diff --git a/native/android/input.cpp b/native/android/input.cpp index f1c30889c4db9..432e21cb5c084 100644 --- a/native/android/input.cpp +++ b/native/android/input.cpp @@ -149,7 +149,8 @@ int32_t AMotionEvent_getPointerId(const AInputEvent* motion_event, size_t pointe } int32_t AMotionEvent_getToolType(const AInputEvent* motion_event, size_t pointer_index) { - return static_cast(motion_event)->getToolType(pointer_index); + const MotionEvent& motion = static_cast(*motion_event); + return static_cast(motion.getToolType(pointer_index)); } float AMotionEvent_getRawX(const AInputEvent* motion_event, size_t pointer_index) {