summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2021-02-09 01:57:00 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-02-09 01:57:00 +0000
commita9b9fe40c28882f3db0b13dc9ac9b00b0fd2eab1 (patch)
tree92eeb8424a2e7c33c54d548908cedc0a8a11343f
parent51834d85de3a371bd980ee128dd693ab30d32eec (diff)
parent370039c4685ecbd637ac39f68cb68c4347034a9e (diff)
Merge "Allow multiple events to be processed in FakeEventHub" into sc-dev
-rw-r--r--services/inputflinger/tests/InputReader_test.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/services/inputflinger/tests/InputReader_test.cpp b/services/inputflinger/tests/InputReader_test.cpp
index bea99324e0..409c62a0e2 100644
--- a/services/inputflinger/tests/InputReader_test.cpp
+++ b/services/inputflinger/tests/InputReader_test.cpp
@@ -409,7 +409,7 @@ class FakeEventHub : public EventHubInterface {
KeyedVector<int32_t, Device*> mDevices;
std::vector<std::string> mExcludedDevices;
- List<RawEvent> mEvents GUARDED_BY(mLock);
+ std::vector<RawEvent> mEvents GUARDED_BY(mLock);
std::unordered_map<int32_t /*deviceId*/, std::vector<TouchVideoFrame>> mVideoFrames;
std::vector<int32_t> mVibrators = {0, 1};
@@ -722,16 +722,15 @@ private:
mExcludedDevices = devices;
}
- size_t getEvents(int, RawEvent* buffer, size_t) override {
- std::scoped_lock<std::mutex> lock(mLock);
- if (mEvents.empty()) {
- return 0;
- }
+ size_t getEvents(int, RawEvent* buffer, size_t bufferSize) override {
+ std::scoped_lock lock(mLock);
+
+ const size_t filledSize = std::min(mEvents.size(), bufferSize);
+ std::copy(mEvents.begin(), mEvents.begin() + filledSize, buffer);
- *buffer = *mEvents.begin();
- mEvents.erase(mEvents.begin());
+ mEvents.erase(mEvents.begin(), mEvents.begin() + filledSize);
mEventsCondition.notify_all();
- return 1;
+ return filledSize;
}
std::vector<TouchVideoFrame> getVideoFrames(int32_t deviceId) override {