Loading services/inputflinger/dispatcher/InputDispatcher.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -6700,6 +6700,13 @@ void InputDispatcher::onWindowInfosChanged(const gui::WindowInfosUpdate& update) for (const auto& [displayId, handles] : handlesPerDisplay) { setInputWindowsLocked(handles, displayId); } if (update.vsyncId < mWindowInfosVsyncId) { ALOGE("Received out of order window infos update. Last update vsync id: %" PRId64 ", current update vsync id: %" PRId64, mWindowInfosVsyncId, update.vsyncId); } mWindowInfosVsyncId = update.vsyncId; } // Wake up poll loop since it may need to make new input dispatching choices. mLooper->wake(); Loading services/inputflinger/dispatcher/InputDispatcher.h +2 −0 Original line number Diff line number Diff line Loading @@ -204,6 +204,8 @@ private: const IdGenerator mIdGenerator; int64_t mWindowInfosVsyncId GUARDED_BY(mLock); // With each iteration, InputDispatcher nominally processes one queued event, // a timeout, or a response from an input consumer. // This method should only be called on the input dispatcher's own thread. Loading Loading
services/inputflinger/dispatcher/InputDispatcher.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -6700,6 +6700,13 @@ void InputDispatcher::onWindowInfosChanged(const gui::WindowInfosUpdate& update) for (const auto& [displayId, handles] : handlesPerDisplay) { setInputWindowsLocked(handles, displayId); } if (update.vsyncId < mWindowInfosVsyncId) { ALOGE("Received out of order window infos update. Last update vsync id: %" PRId64 ", current update vsync id: %" PRId64, mWindowInfosVsyncId, update.vsyncId); } mWindowInfosVsyncId = update.vsyncId; } // Wake up poll loop since it may need to make new input dispatching choices. mLooper->wake(); Loading
services/inputflinger/dispatcher/InputDispatcher.h +2 −0 Original line number Diff line number Diff line Loading @@ -204,6 +204,8 @@ private: const IdGenerator mIdGenerator; int64_t mWindowInfosVsyncId GUARDED_BY(mLock); // With each iteration, InputDispatcher nominally processes one queued event, // a timeout, or a response from an input consumer. // This method should only be called on the input dispatcher's own thread. Loading