Loading services/inputflinger/InputDispatcher.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -2673,7 +2673,7 @@ void InputDispatcher::notifyMotion(const NotifyMotionArgs* args) { policyFlags |= POLICY_FLAG_TRUSTED; android::base::Timer t; mPolicy->interceptMotionBeforeQueueing(args->eventTime, /*byref*/ policyFlags); mPolicy->interceptMotionBeforeQueueing(args->displayId, args->eventTime, /*byref*/ policyFlags); if (t.duration() > SLOW_INTERCEPTION_THRESHOLD) { ALOGW("Excessive delay in interceptMotionBeforeQueueing; took %s ms", std::to_string(t.duration().count()).c_str()); Loading Loading @@ -2821,6 +2821,7 @@ int32_t InputDispatcher::injectInputEvent(const InputEvent* event, size_t pointerCount = motionEvent->getPointerCount(); const PointerProperties* pointerProperties = motionEvent->getPointerProperties(); int32_t actionButton = motionEvent->getActionButton(); int32_t displayId = motionEvent->getDisplayId(); if (! validateMotionEvent(action, actionButton, pointerCount, pointerProperties)) { return INPUT_EVENT_INJECTION_FAILED; } Loading @@ -2828,7 +2829,7 @@ int32_t InputDispatcher::injectInputEvent(const InputEvent* event, if (!(policyFlags & POLICY_FLAG_FILTERED)) { nsecs_t eventTime = motionEvent->getEventTime(); android::base::Timer t; mPolicy->interceptMotionBeforeQueueing(eventTime, /*byref*/ policyFlags); mPolicy->interceptMotionBeforeQueueing(displayId, eventTime, /*byref*/ policyFlags); if (t.duration() > SLOW_INTERCEPTION_THRESHOLD) { ALOGW("Excessive delay in interceptMotionBeforeQueueing; took %s ms", std::to_string(t.duration().count()).c_str()); Loading services/inputflinger/InputDispatcher.h +2 −1 Original line number Diff line number Diff line Loading @@ -245,7 +245,8 @@ public: * This method is expected to set the POLICY_FLAG_PASS_TO_USER policy flag if the event * should be dispatched to applications. */ virtual void interceptMotionBeforeQueueing(nsecs_t when, uint32_t& policyFlags) = 0; virtual void interceptMotionBeforeQueueing(const int32_t displayId, nsecs_t when, uint32_t& policyFlags) = 0; /* Allows the policy a chance to intercept a key before dispatching. */ virtual nsecs_t interceptKeyBeforeDispatching(const sp<IBinder>& token, Loading services/inputflinger/tests/InputDispatcher_test.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -138,7 +138,7 @@ private: virtual void interceptKeyBeforeQueueing(const KeyEvent*, uint32_t&) { } virtual void interceptMotionBeforeQueueing(nsecs_t, uint32_t&) { virtual void interceptMotionBeforeQueueing(int32_t, nsecs_t, uint32_t&) { } virtual nsecs_t interceptKeyBeforeDispatching(const sp<IBinder>&, Loading Loading
services/inputflinger/InputDispatcher.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -2673,7 +2673,7 @@ void InputDispatcher::notifyMotion(const NotifyMotionArgs* args) { policyFlags |= POLICY_FLAG_TRUSTED; android::base::Timer t; mPolicy->interceptMotionBeforeQueueing(args->eventTime, /*byref*/ policyFlags); mPolicy->interceptMotionBeforeQueueing(args->displayId, args->eventTime, /*byref*/ policyFlags); if (t.duration() > SLOW_INTERCEPTION_THRESHOLD) { ALOGW("Excessive delay in interceptMotionBeforeQueueing; took %s ms", std::to_string(t.duration().count()).c_str()); Loading Loading @@ -2821,6 +2821,7 @@ int32_t InputDispatcher::injectInputEvent(const InputEvent* event, size_t pointerCount = motionEvent->getPointerCount(); const PointerProperties* pointerProperties = motionEvent->getPointerProperties(); int32_t actionButton = motionEvent->getActionButton(); int32_t displayId = motionEvent->getDisplayId(); if (! validateMotionEvent(action, actionButton, pointerCount, pointerProperties)) { return INPUT_EVENT_INJECTION_FAILED; } Loading @@ -2828,7 +2829,7 @@ int32_t InputDispatcher::injectInputEvent(const InputEvent* event, if (!(policyFlags & POLICY_FLAG_FILTERED)) { nsecs_t eventTime = motionEvent->getEventTime(); android::base::Timer t; mPolicy->interceptMotionBeforeQueueing(eventTime, /*byref*/ policyFlags); mPolicy->interceptMotionBeforeQueueing(displayId, eventTime, /*byref*/ policyFlags); if (t.duration() > SLOW_INTERCEPTION_THRESHOLD) { ALOGW("Excessive delay in interceptMotionBeforeQueueing; took %s ms", std::to_string(t.duration().count()).c_str()); Loading
services/inputflinger/InputDispatcher.h +2 −1 Original line number Diff line number Diff line Loading @@ -245,7 +245,8 @@ public: * This method is expected to set the POLICY_FLAG_PASS_TO_USER policy flag if the event * should be dispatched to applications. */ virtual void interceptMotionBeforeQueueing(nsecs_t when, uint32_t& policyFlags) = 0; virtual void interceptMotionBeforeQueueing(const int32_t displayId, nsecs_t when, uint32_t& policyFlags) = 0; /* Allows the policy a chance to intercept a key before dispatching. */ virtual nsecs_t interceptKeyBeforeDispatching(const sp<IBinder>& token, Loading
services/inputflinger/tests/InputDispatcher_test.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -138,7 +138,7 @@ private: virtual void interceptKeyBeforeQueueing(const KeyEvent*, uint32_t&) { } virtual void interceptMotionBeforeQueueing(nsecs_t, uint32_t&) { virtual void interceptMotionBeforeQueueing(int32_t, nsecs_t, uint32_t&) { } virtual nsecs_t interceptKeyBeforeDispatching(const sp<IBinder>&, Loading