summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Pin-Yu Huang <matthuang@google.com> 2019-07-19 04:00:44 +0000
committer Pin-Yu Huang <matthuang@google.com> 2019-07-19 04:00:44 +0000
commit2d8cc8945eb1c1be5ce6a262613a5aae6e257d06 (patch)
tree68975be2ee208a286a2458995818e10ad281f32f
parenta03f0debad92921ba52d33e7e06f0064703e85ad (diff)
Revert "Use std::set instead of SortedVector"
This reverts commit a03f0debad92921ba52d33e7e06f0064703e85ad. Reason for revert: cause BB Change-Id: I5531b895947236ff5754334f3cd4660d07513293
-rw-r--r--services/inputflinger/InputReader.cpp4
-rw-r--r--services/inputflinger/include/InputReaderBase.h6
-rw-r--r--services/inputflinger/tests/InputReader_test.cpp16
3 files changed, 19 insertions, 7 deletions
diff --git a/services/inputflinger/InputReader.cpp b/services/inputflinger/InputReader.cpp
index 2de5ffa0eb..eee49d5e2a 100644
--- a/services/inputflinger/InputReader.cpp
+++ b/services/inputflinger/InputReader.cpp
@@ -1094,8 +1094,8 @@ void InputDevice::configure(nsecs_t when, const InputReaderConfiguration* config
}
if (!changes || (changes & InputReaderConfiguration::CHANGE_ENABLED_STATE)) {
- auto it = config->disabledDevices.find(mId);
- bool enabled = it == config->disabledDevices.end();
+ ssize_t index = config->disabledDevices.indexOf(mId);
+ bool enabled = index < 0;
setEnabled(enabled, when);
}
diff --git a/services/inputflinger/include/InputReaderBase.h b/services/inputflinger/include/InputReaderBase.h
index 271051499c..c7720cbf59 100644
--- a/services/inputflinger/include/InputReaderBase.h
+++ b/services/inputflinger/include/InputReaderBase.h
@@ -27,11 +27,11 @@
#include <utils/KeyedVector.h>
#include <utils/Thread.h>
#include <utils/RefBase.h>
+#include <utils/SortedVector.h>
+#include <optional>
#include <stddef.h>
#include <unistd.h>
-#include <optional>
-#include <set>
#include <unordered_map>
#include <vector>
@@ -250,7 +250,7 @@ struct InputReaderConfiguration {
bool pointerCapture;
// The set of currently disabled input devices.
- std::set<int32_t> disabledDevices;
+ SortedVector<int32_t> disabledDevices;
InputReaderConfiguration() :
virtualKeyQuietTime(0),
diff --git a/services/inputflinger/tests/InputReader_test.cpp b/services/inputflinger/tests/InputReader_test.cpp
index 541de99623..e10883485a 100644
--- a/services/inputflinger/tests/InputReader_test.cpp
+++ b/services/inputflinger/tests/InputReader_test.cpp
@@ -202,9 +202,21 @@ public:
mConfig.portAssociations.insert({inputPort, displayPort});
}
- void addDisabledDevice(int32_t deviceId) { mConfig.disabledDevices.insert(deviceId); }
+ void addDisabledDevice(int32_t deviceId) {
+ ssize_t index = mConfig.disabledDevices.indexOf(deviceId);
+ bool currentlyEnabled = index < 0;
+ if (currentlyEnabled) {
+ mConfig.disabledDevices.add(deviceId);
+ }
+ }
- void removeDisabledDevice(int32_t deviceId) { mConfig.disabledDevices.erase(deviceId); }
+ void removeDisabledDevice(int32_t deviceId) {
+ ssize_t index = mConfig.disabledDevices.indexOf(deviceId);
+ bool currentlyEnabled = index < 0;
+ if (!currentlyEnabled) {
+ mConfig.disabledDevices.remove(deviceId);
+ }
+ }
void setPointerController(int32_t deviceId, const sp<FakePointerController>& controller) {
mPointerControllers.add(deviceId, controller);