Convert tool type to enum class
For better type safety, use enum class when sending tool type.
Bug: 198472780
Test: atest libinput_tests inputflinger_tests
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:09a8fe42ba1d218c2f445e4fd5bc387e260ae067)
Merged-In: I371f08087b9513b6f75966c124de77bc12f8324e
Change-Id: I371f08087b9513b6f75966c124de77bc12f8324e
diff --git a/services/inputflinger/reader/mapper/MultiTouchInputMapper.cpp b/services/inputflinger/reader/mapper/MultiTouchInputMapper.cpp
index 33e72c7..e871288 100644
--- a/services/inputflinger/reader/mapper/MultiTouchInputMapper.cpp
+++ b/services/inputflinger/reader/mapper/MultiTouchInputMapper.cpp
@@ -77,7 +77,7 @@
continue;
}
- if (inSlot.getToolType() == AMOTION_EVENT_TOOL_TYPE_PALM) {
+ if (inSlot.getToolType() == ToolType::PALM) {
std::optional<int32_t> id = getActiveBitId(inSlot);
if (id) {
outState->rawPointerData.canceledIdBits.markBit(id.value());
@@ -112,12 +112,12 @@
outPointer.tiltY = 0;
outPointer.toolType = inSlot.getToolType();
- if (outPointer.toolType == AMOTION_EVENT_TOOL_TYPE_UNKNOWN) {
+ if (outPointer.toolType == ToolType::UNKNOWN) {
outPointer.toolType = mTouchButtonAccumulator.getToolType();
- if (outPointer.toolType == AMOTION_EVENT_TOOL_TYPE_UNKNOWN) {
- outPointer.toolType = AMOTION_EVENT_TOOL_TYPE_FINGER;
+ if (outPointer.toolType == ToolType::UNKNOWN) {
+ outPointer.toolType = ToolType::FINGER;
}
- } else if (outPointer.toolType == AMOTION_EVENT_TOOL_TYPE_STYLUS && !mStylusMtToolSeen) {
+ } else if (outPointer.toolType == ToolType::STYLUS && !mStylusMtToolSeen) {
mStylusMtToolSeen = true;
// The multi-touch device produced a stylus event with MT_TOOL_PEN. Dynamically
// re-configure this input device so that we add SOURCE_STYLUS if we haven't already.
@@ -130,12 +130,11 @@
bumpGeneration();
}
}
- if (shouldSimulateStylusWithTouch() &&
- outPointer.toolType == AMOTION_EVENT_TOOL_TYPE_FINGER) {
- outPointer.toolType = AMOTION_EVENT_TOOL_TYPE_STYLUS;
+ if (shouldSimulateStylusWithTouch() && outPointer.toolType == ToolType::FINGER) {
+ outPointer.toolType = ToolType::STYLUS;
}
- bool isHovering = mTouchButtonAccumulator.getToolType() != AMOTION_EVENT_TOOL_TYPE_MOUSE &&
+ bool isHovering = mTouchButtonAccumulator.getToolType() != ToolType::MOUSE &&
(mTouchButtonAccumulator.isHovering() ||
(mRawPointerAxes.pressure.valid && inSlot.getPressure() <= 0));
outPointer.isHovering = isHovering;