summaryrefslogtreecommitdiff
path: root/libs/input/Input.cpp
diff options
context:
space:
mode:
author jioana <jioana@google.com> 2024-07-16 15:42:56 +0000
committer Ioana Jianu <jioana@google.com> 2024-07-18 09:20:45 +0000
commit71c6f73ada569787a7064af4ea2a4c01adb75a85 (patch)
treee47fc67150f1f48bd7f20c80d417898f3884b576 /libs/input/Input.cpp
parent41750190227be028706594a3e0544022b32b92b3 (diff)
Update MotionEvent's id when a new sample is added.
Until now the MotionEvent's id was set during the "initialize" call, and it was equal to the first sample's eventId. We want to use the latest sample's eventId. Bug: b/350907221 Test: atest libinput_tests inputflinger_tests Flag: EXEMPT bugfix Change-Id: I0d967e7fe644fc2b2c09d044c3ee8ed13276d787
Diffstat (limited to 'libs/input/Input.cpp')
-rw-r--r--libs/input/Input.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/libs/input/Input.cpp b/libs/input/Input.cpp
index b09814797f..a2bb3453fe 100644
--- a/libs/input/Input.cpp
+++ b/libs/input/Input.cpp
@@ -580,7 +580,7 @@ void MotionEvent::initialize(int32_t id, int32_t deviceId, uint32_t source,
&pointerProperties[pointerCount]);
mSampleEventTimes.clear();
mSamplePointerCoords.clear();
- addSample(eventTime, pointerCoords);
+ addSample(eventTime, pointerCoords, mId);
}
void MotionEvent::copyFrom(const MotionEvent* other, bool keepHistory) {
@@ -640,9 +640,9 @@ void MotionEvent::splitFrom(const android::MotionEvent& other,
mSampleEventTimes = other.mSampleEventTimes;
}
-void MotionEvent::addSample(
- int64_t eventTime,
- const PointerCoords* pointerCoords) {
+void MotionEvent::addSample(int64_t eventTime, const PointerCoords* pointerCoords,
+ int32_t eventId) {
+ mId = eventId;
mSampleEventTimes.push_back(eventTime);
mSamplePointerCoords.insert(mSamplePointerCoords.end(), &pointerCoords[0],
&pointerCoords[getPointerCount()]);