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
This commit is contained in:
Siarhei Vishniakou
2022-11-01 14:40:03 -07:00
committed by Cherrypicker Worker
parent 7871be0c97
commit d1be50bcbe
2 changed files with 6 additions and 4 deletions

View File

@@ -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>(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<int32_t>(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<jint>(event->getToolType(pointerIndex));
}
static jlong android_view_MotionEvent_nativeGetEventTimeNanos(JNIEnv* env, jclass clazz,

View File

@@ -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<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) {