diff --git a/services/core/jni/com_android_server_input_InputManagerService.cpp b/services/core/jni/com_android_server_input_InputManagerService.cpp index 466ca9315f6f0..1c8c46c740026 100644 --- a/services/core/jni/com_android_server_input_InputManagerService.cpp +++ b/services/core/jni/com_android_server_input_InputManagerService.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include @@ -306,7 +307,7 @@ private: wp pointerController; // Input devices to be disabled - std::set disabledInputDevices; + SortedVector disabledInputDevices; // Associated Pointer controller display. int32_t pointerDisplayId; @@ -897,13 +898,13 @@ void NativeInputManager::setInputDeviceEnabled(uint32_t deviceId, bool enabled) { // acquire lock AutoMutex _l(mLock); - auto it = mLocked.disabledInputDevices.find(deviceId); - bool currentlyEnabled = it == mLocked.disabledInputDevices.end(); + ssize_t index = mLocked.disabledInputDevices.indexOf(deviceId); + bool currentlyEnabled = index < 0; if (!enabled && currentlyEnabled) { - mLocked.disabledInputDevices.insert(deviceId); + mLocked.disabledInputDevices.add(deviceId); } if (enabled && !currentlyEnabled) { - mLocked.disabledInputDevices.erase(deviceId); + mLocked.disabledInputDevices.remove(deviceId); } } // release lock