Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit e9ef6bc8 authored by Siarhei Vishniakou's avatar Siarhei Vishniakou
Browse files

Query InputState for pointer information when canceling a gesture

When the dispatcher produces a synthetic HOVER_EXIT or ACTION_CANCEL, it
relies on the InputState to get the correct coordinates of this event.
That's because these events should use the same coordinates as the last
dispatched HOVER_MOVE or ACTION_MOVE event, and this data is stored
inside InputState.

Before this CL, this logic was checked by "HoverIntoClone" test. When
this test ran, the dispatcher produced scary messages, saying that it
was canceling events because an inconsistent event was received. Another
test that had these logs was StylusHoverAndDownNoInputChannel. This
could also be easily reproduced by sending a HOVER_ENTER and then a
HOVER_EXIT. The HOVER_EXIT event would get rejected, and the dispatcher
would use InputState to generate its own.

Now with this CL, these messages are gone because the dispatcher is
querying for these coords proactively instead of using the cancellation
mechanism of InputState.

Bug: 317183325
Test: TEST=inputflinger_tests; m $TEST && $ANDROID_HOST_OUT/nativetest64/$TEST/$TEST --gtest_filter="*StylusHoverAndDownNoInputChannel"
Change-Id: I44a2446171ab5d2368d7b7f8d806e45d5bb855c0
parent e0cafbac
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment