Loading services/inputflinger/InputDispatcher.cpp +15 −1 Original line number Original line Diff line number Diff line Loading @@ -859,6 +859,13 @@ bool InputDispatcher::dispatchMotionLocked( setInjectionResultLocked(entry, injectionResult); setInjectionResultLocked(entry, injectionResult); if (injectionResult != INPUT_EVENT_INJECTION_SUCCEEDED) { if (injectionResult != INPUT_EVENT_INJECTION_SUCCEEDED) { if (injectionResult != INPUT_EVENT_INJECTION_PERMISSION_DENIED) { CancelationOptions::Mode mode(isPointerEvent ? CancelationOptions::CANCEL_POINTER_EVENTS : CancelationOptions::CANCEL_NON_POINTER_EVENTS); CancelationOptions options(mode, "input event injection failed"); synthesizeCancelationEventsForMonitorsLocked(options); } return true; return true; } } Loading Loading @@ -886,7 +893,7 @@ void InputDispatcher::logOutboundMotionDetailsLocked(const char* prefix, const M "edgeFlags=0x%x, xPrecision=%f, yPrecision=%f, downTime=%lld", "edgeFlags=0x%x, xPrecision=%f, yPrecision=%f, downTime=%lld", prefix, prefix, entry->eventTime, entry->deviceId, entry->source, entry->policyFlags, entry->eventTime, entry->deviceId, entry->source, entry->policyFlags, entry->action, entry->actionButton entry->flags, entry->action, entry->actionButton, entry->flags, entry->metaState, entry->buttonState, entry->metaState, entry->buttonState, entry->edgeFlags, entry->xPrecision, entry->yPrecision, entry->edgeFlags, entry->xPrecision, entry->yPrecision, entry->downTime); entry->downTime); Loading Loading @@ -2167,6 +2174,13 @@ void InputDispatcher::synthesizeCancelationEventsForAllConnectionsLocked( } } } } void InputDispatcher::synthesizeCancelationEventsForMonitorsLocked( const CancelationOptions& options) { for (size_t i = 0; i < mMonitoringChannels.size(); i++) { synthesizeCancelationEventsForInputChannelLocked(mMonitoringChannels[i], options); } } void InputDispatcher::synthesizeCancelationEventsForInputChannelLocked( void InputDispatcher::synthesizeCancelationEventsForInputChannelLocked( const sp<InputChannel>& channel, const CancelationOptions& options) { const sp<InputChannel>& channel, const CancelationOptions& options) { ssize_t index = getConnectionIndexLocked(channel); ssize_t index = getConnectionIndexLocked(channel); Loading services/inputflinger/InputDispatcher.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -1076,6 +1076,7 @@ private: void synthesizeCancelationEventsForAllConnectionsLocked( void synthesizeCancelationEventsForAllConnectionsLocked( const CancelationOptions& options); const CancelationOptions& options); void synthesizeCancelationEventsForMonitorsLocked(const CancelationOptions& options); void synthesizeCancelationEventsForInputChannelLocked(const sp<InputChannel>& channel, void synthesizeCancelationEventsForInputChannelLocked(const sp<InputChannel>& channel, const CancelationOptions& options); const CancelationOptions& options); void synthesizeCancelationEventsForConnectionLocked(const sp<Connection>& connection, void synthesizeCancelationEventsForConnectionLocked(const sp<Connection>& connection, Loading Loading
services/inputflinger/InputDispatcher.cpp +15 −1 Original line number Original line Diff line number Diff line Loading @@ -859,6 +859,13 @@ bool InputDispatcher::dispatchMotionLocked( setInjectionResultLocked(entry, injectionResult); setInjectionResultLocked(entry, injectionResult); if (injectionResult != INPUT_EVENT_INJECTION_SUCCEEDED) { if (injectionResult != INPUT_EVENT_INJECTION_SUCCEEDED) { if (injectionResult != INPUT_EVENT_INJECTION_PERMISSION_DENIED) { CancelationOptions::Mode mode(isPointerEvent ? CancelationOptions::CANCEL_POINTER_EVENTS : CancelationOptions::CANCEL_NON_POINTER_EVENTS); CancelationOptions options(mode, "input event injection failed"); synthesizeCancelationEventsForMonitorsLocked(options); } return true; return true; } } Loading Loading @@ -886,7 +893,7 @@ void InputDispatcher::logOutboundMotionDetailsLocked(const char* prefix, const M "edgeFlags=0x%x, xPrecision=%f, yPrecision=%f, downTime=%lld", "edgeFlags=0x%x, xPrecision=%f, yPrecision=%f, downTime=%lld", prefix, prefix, entry->eventTime, entry->deviceId, entry->source, entry->policyFlags, entry->eventTime, entry->deviceId, entry->source, entry->policyFlags, entry->action, entry->actionButton entry->flags, entry->action, entry->actionButton, entry->flags, entry->metaState, entry->buttonState, entry->metaState, entry->buttonState, entry->edgeFlags, entry->xPrecision, entry->yPrecision, entry->edgeFlags, entry->xPrecision, entry->yPrecision, entry->downTime); entry->downTime); Loading Loading @@ -2167,6 +2174,13 @@ void InputDispatcher::synthesizeCancelationEventsForAllConnectionsLocked( } } } } void InputDispatcher::synthesizeCancelationEventsForMonitorsLocked( const CancelationOptions& options) { for (size_t i = 0; i < mMonitoringChannels.size(); i++) { synthesizeCancelationEventsForInputChannelLocked(mMonitoringChannels[i], options); } } void InputDispatcher::synthesizeCancelationEventsForInputChannelLocked( void InputDispatcher::synthesizeCancelationEventsForInputChannelLocked( const sp<InputChannel>& channel, const CancelationOptions& options) { const sp<InputChannel>& channel, const CancelationOptions& options) { ssize_t index = getConnectionIndexLocked(channel); ssize_t index = getConnectionIndexLocked(channel); Loading
services/inputflinger/InputDispatcher.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -1076,6 +1076,7 @@ private: void synthesizeCancelationEventsForAllConnectionsLocked( void synthesizeCancelationEventsForAllConnectionsLocked( const CancelationOptions& options); const CancelationOptions& options); void synthesizeCancelationEventsForMonitorsLocked(const CancelationOptions& options); void synthesizeCancelationEventsForInputChannelLocked(const sp<InputChannel>& channel, void synthesizeCancelationEventsForInputChannelLocked(const sp<InputChannel>& channel, const CancelationOptions& options); const CancelationOptions& options); void synthesizeCancelationEventsForConnectionLocked(const sp<Connection>& connection, void synthesizeCancelationEventsForConnectionLocked(const sp<Connection>& connection, Loading