+14
−9
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
All input events coming into inputfilter from InputDispatcher will now have FLAG_INPUTFILTER_TRUSTED set by default. It is now up to the inputfilter (a11y) to remove this flag when appropriate. One such case is where an unknown a11y service is injecting the events. From auditing the a11y code, the only such place is MotionEventInjector. Therefore, label all events coming out of MotionEventInjector as "untrusted" by removing this new flag INPUTFILTER_TRUSTED. Separately, a11y should be distinguishable from regularly injected input events. To tell apart the events injected by a11y, add a new flag, FLAG_INJECTED_FROM_ACCESSIBILITY. This flag requests InputDispatcher to apply the device id = -2 for the injected events. Test: atest CtsInputTestCases:android.input.cts.GamepadWithAccessibilityTest Test: atest MotionEventInjectorTest Bug: 175069843 Change-Id: I12d4a7bd6fbab8af202f5ae88b6be97ff9e1754c