diff options
| author | 2020-06-17 11:16:48 +0000 | |
|---|---|---|
| committer | 2020-06-17 11:16:48 +0000 | |
| commit | d924b95a1379ab786641736e9c03c857dc83dd5b (patch) | |
| tree | 00f1ed91e24b085c8236e4316d37523fa00469d5 | |
| parent | c6f30115b70b78ead47a0f91c35ef154b5d042c4 (diff) | |
| parent | e0fb6bdd6cc08619fb6889a37d8a03b4b4bce275 (diff) | |
Make addGestureMonitors static am: e0fb6bdd6c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/11887941
Change-Id: Id0cf096c5b629461aa853bab0d469cee0c84e9a2
| -rw-r--r-- | services/inputflinger/dispatcher/InputDispatcher.cpp | 50 | ||||
| -rw-r--r-- | services/inputflinger/dispatcher/InputDispatcher.h | 5 |
2 files changed, 23 insertions, 32 deletions
diff --git a/services/inputflinger/dispatcher/InputDispatcher.cpp b/services/inputflinger/dispatcher/InputDispatcher.cpp index 8dddd6dd16..2bc198c1bf 100644 --- a/services/inputflinger/dispatcher/InputDispatcher.cpp +++ b/services/inputflinger/dispatcher/InputDispatcher.cpp @@ -328,6 +328,18 @@ static std::unique_ptr<DispatchEntry> createDispatchEntry(const InputTarget& inp return dispatchEntry; } +static void addGestureMonitors(const std::vector<Monitor>& monitors, + std::vector<TouchedMonitor>& outTouchedMonitors, float xOffset = 0, + float yOffset = 0) { + if (monitors.empty()) { + return; + } + outTouchedMonitors.reserve(monitors.size() + outTouchedMonitors.size()); + for (const Monitor& monitor : monitors) { + outTouchedMonitors.emplace_back(monitor, xOffset, yOffset); + } +} + static std::array<uint8_t, 128> getRandomKey() { std::array<uint8_t, 128> key; if (RAND_bytes(key.data(), key.size()) != 1) { @@ -752,7 +764,7 @@ sp<InputWindowHandle> InputDispatcher::findTouchedWindowAtLocked(int32_t display } std::vector<TouchedMonitor> InputDispatcher::findTouchedGestureMonitorsLocked( - int32_t displayId, const std::vector<sp<InputWindowHandle>>& portalWindows) { + int32_t displayId, const std::vector<sp<InputWindowHandle>>& portalWindows) const { std::vector<TouchedMonitor> touchedMonitors; std::vector<Monitor> monitors = getValueByKey(mGestureMonitorsByDisplay, displayId); @@ -766,18 +778,6 @@ std::vector<TouchedMonitor> InputDispatcher::findTouchedGestureMonitorsLocked( return touchedMonitors; } -void InputDispatcher::addGestureMonitors(const std::vector<Monitor>& monitors, - std::vector<TouchedMonitor>& outTouchedMonitors, - float xOffset, float yOffset) { - if (monitors.empty()) { - return; - } - outTouchedMonitors.reserve(monitors.size() + outTouchedMonitors.size()); - for (const Monitor& monitor : monitors) { - outTouchedMonitors.emplace_back(monitor, xOffset, yOffset); - } -} - void InputDispatcher::dropInboundEventLocked(const EventEntry& entry, DropReason dropReason) { const char* reason; switch (dropReason) { @@ -1508,11 +1508,9 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime, if (newGesture) { bool down = maskedAction == AMOTION_EVENT_ACTION_DOWN; if (switchedDevice && mTempTouchState.down && !down && !isHoverAction) { - if (DEBUG_FOCUS) { - ALOGD("Dropping event because a pointer for a different device is already down " - "in display %" PRId32, - displayId); - } + ALOGI("Dropping event because a pointer for a different device is already down " + "in display %" PRId32, + displayId); // TODO: test multiple simultaneous input streams. injectionResult = INPUT_EVENT_INJECTION_FAILED; switchedDevice = false; @@ -1526,11 +1524,9 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime, mTempTouchState.displayId = displayId; isSplit = false; } else if (switchedDevice && maskedAction == AMOTION_EVENT_ACTION_MOVE) { - if (DEBUG_FOCUS) { - ALOGI("Dropping move event because a pointer for a different device is already active " - "in display %" PRId32, - displayId); - } + ALOGI("Dropping move event because a pointer for a different device is already active " + "in display %" PRId32, + displayId); // TODO: test multiple simultaneous input streams. injectionResult = INPUT_EVENT_INJECTION_PERMISSION_DENIED; switchedDevice = false; @@ -1714,11 +1710,9 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime, } bool hasGestureMonitor = !mTempTouchState.gestureMonitors.empty(); if (!haveForegroundWindow && !hasGestureMonitor) { - if (DEBUG_FOCUS) { - ALOGD("Dropping event because there is no touched foreground window in display " - "%" PRId32 " or gesture monitor to receive it.", - displayId); - } + ALOGI("Dropping event because there is no touched foreground window in display " + "%" PRId32 " or gesture monitor to receive it.", + displayId); injectionResult = INPUT_EVENT_INJECTION_FAILED; goto Failed; } diff --git a/services/inputflinger/dispatcher/InputDispatcher.h b/services/inputflinger/dispatcher/InputDispatcher.h index ff7be87609..df5b59135a 100644 --- a/services/inputflinger/dispatcher/InputDispatcher.h +++ b/services/inputflinger/dispatcher/InputDispatcher.h @@ -378,11 +378,8 @@ private: nsecs_t* nextWakeupTime, bool* outConflictingPointerActions) REQUIRES(mLock); std::vector<TouchedMonitor> findTouchedGestureMonitorsLocked( - int32_t displayId, const std::vector<sp<InputWindowHandle>>& portalWindows) + int32_t displayId, const std::vector<sp<InputWindowHandle>>& portalWindows) const REQUIRES(mLock); - void addGestureMonitors(const std::vector<Monitor>& monitors, - std::vector<TouchedMonitor>& outTouchedMonitors, float xOffset = 0, - float yOffset = 0); void addWindowTargetLocked(const sp<InputWindowHandle>& windowHandle, int32_t targetFlags, BitSet32 pointerIds, std::vector<InputTarget>& inputTargets) |