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

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

Allow new gestures to cancel current gestures

In a previous patch, we chose to ignore new gestures whenever there's
currently an active gesture. Generally this is fine to do, but there are
some concerns around doing that:
1) This is different from the previous behaviour, and some tests were
   relying on the previous behaviour.
2) If a test injects an ACTION_DOWN event (globally) and never lifts up
   the pointer, this would cause all real subsequent events to be
   rejected. That means a bad test can cause device to get into a bad
   state.
Rather than adding a special case to deal with 2), let's revert to the
previous behaviour.

Since we are now allowing the new device to take over, and only 1 device
can be active at a time (for now), we must reset the touching pointers
whenever we have a new gesture starting. That's because the function
synthesizeCancelationEventsForAllConnectionsLocked does not modify
TouchState.

We should also be canceling any of the currently hovering pointers by
sending an ACTION_HOVER_EXIT if a touch down occurs. This behaviour
was previously inconsistent in the mouse case.

Once per-device functionality is enabled, this behaviour will be
revisited.

Bug: 268683979
Test: m inputflinger_tests && $ANDROID_HOST_OUT/nativetest64/inputflinger_tests/inputflinger_tests
Merged-In: I10c7ebde7c108baecb67a865f541253fa6e5f7ef
Change-Id: I10c7ebde7c108baecb67a865f541253fa6e5f7ef
(cherry picked from commit 837fab15)
parent 16e4fa05
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