Use enum class for tool type
Update jni code to use enum class
Bug: 198472780
Test: compile
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:d873b263ee5937ba93a2252424148c0552312332)
Merged-In: Ia129a28593c4f7a5ae0326a1aabdd5e6d0b67b82
Change-Id: Ia129a28593c4f7a5ae0326a1aabdd5e6d0b67b82
diff --git a/core/jni/android_view_MotionEvent.cpp b/core/jni/android_view_MotionEvent.cpp
index 49f47c5..2e9f179 100644
--- a/core/jni/android_view_MotionEvent.cpp
+++ b/core/jni/android_view_MotionEvent.cpp
@@ -316,8 +316,9 @@
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>(toolType);
}
static void pointerPropertiesFromNative(JNIEnv* env, const PointerProperties* pointerProperties,
@@ -325,7 +326,7 @@
env->SetIntField(outPointerPropertiesObj, gPointerPropertiesClassInfo.id,
pointerProperties->id);
env->SetIntField(outPointerPropertiesObj, gPointerPropertiesClassInfo.toolType,
- pointerProperties->toolType);
+ static_cast<int32_t>(pointerProperties->toolType));
}
@@ -535,7 +536,7 @@
if (!validatePointerIndex(env, pointerIndex, *event)) {
return -1;
}
- return event->getToolType(pointerIndex);
+ return static_cast<jint>(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 f1c3088..432e21c 100644
--- a/native/android/input.cpp
+++ b/native/android/input.cpp
@@ -149,7 +149,8 @@
}
int32_t AMotionEvent_getToolType(const AInputEvent* motion_event, size_t pointer_index) {
- return static_cast<const MotionEvent*>(motion_event)->getToolType(pointer_index);
+ const MotionEvent& motion = static_cast<const MotionEvent&>(*motion_event);
+ return static_cast<int32_t>(motion.getToolType(pointer_index));
}
float AMotionEvent_getRawX(const AInputEvent* motion_event, size_t pointer_index) {