Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a03f0deb authored by Siarhei Vishniakou's avatar Siarhei Vishniakou
Browse files

Use std::set instead of SortedVector

We only care whether a certain input device is present in a list or not.
For that, we can just use an std::set and not have to use custom
SortedVector data structure. This makes it easier for someone already
familiar with c++ but not necessarily Android to follow the code. It
also ensures that the data structure is properly maintained going
forward.

Bug: 137212522
Test: atest libinput_tests inputflinger_tests
Change-Id: I7808b41524ae0b87dbf1aaf7a49afa64b14b3eb9
parent c5ae0dc5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1094,8 +1094,8 @@ void InputDevice::configure(nsecs_t when, const InputReaderConfiguration* config
        }

        if (!changes || (changes & InputReaderConfiguration::CHANGE_ENABLED_STATE)) {
            ssize_t index = config->disabledDevices.indexOf(mId);
            bool enabled = index < 0;
            auto it = config->disabledDevices.find(mId);
            bool enabled = it == config->disabledDevices.end();
            setEnabled(enabled, when);
        }

+3 −3
Original line number Diff line number Diff line
@@ -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.
    SortedVector<int32_t> disabledDevices;
    std::set<int32_t> disabledDevices;

    InputReaderConfiguration() :
            virtualKeyQuietTime(0),
+2 −14
Original line number Diff line number Diff line
@@ -202,21 +202,9 @@ public:
        mConfig.portAssociations.insert({inputPort, displayPort});
    }

    void addDisabledDevice(int32_t deviceId) {
        ssize_t index = mConfig.disabledDevices.indexOf(deviceId);
        bool currentlyEnabled = index < 0;
        if (currentlyEnabled) {
            mConfig.disabledDevices.add(deviceId);
        }
    }
    void addDisabledDevice(int32_t deviceId) { mConfig.disabledDevices.insert(deviceId); }

    void removeDisabledDevice(int32_t deviceId) {
        ssize_t index = mConfig.disabledDevices.indexOf(deviceId);
        bool currentlyEnabled = index < 0;
        if (!currentlyEnabled) {
            mConfig.disabledDevices.remove(deviceId);
        }
    }
    void removeDisabledDevice(int32_t deviceId) { mConfig.disabledDevices.erase(deviceId); }

    void setPointerController(int32_t deviceId, const sp<FakePointerController>& controller) {
        mPointerControllers.add(deviceId, controller);