diff options
author | 2019-07-19 04:00:44 +0000 | |
---|---|---|
committer | 2019-07-19 04:00:44 +0000 | |
commit | 2d8cc8945eb1c1be5ce6a262613a5aae6e257d06 (patch) | |
tree | 68975be2ee208a286a2458995818e10ad281f32f | |
parent | a03f0debad92921ba52d33e7e06f0064703e85ad (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.cpp | 4 | ||||
-rw-r--r-- | services/inputflinger/include/InputReaderBase.h | 6 | ||||
-rw-r--r-- | services/inputflinger/tests/InputReader_test.cpp | 16 |
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); |