InputDispatcher: Do not drop ongoing gesture if a window is no longer a spy
The old InputDispatcher policy was that for all touch events, there had
to be at least one touched foreground window or spy window. If not, we
dropped the event.
This caused events to be dropped if a handwriting interceptor spy window
changed its configuration mid-gesture to no longer be a spy. To get
around this, we define non-touchable and spy windows as windows that
"cannot be foreground", and require at least one touched foreground
window or at least one touched window that cannot be foreground.
Bug: 221908983
Test: atest inputflinger_tests
Test: manual: ensure Scribe works
Change-Id: If5fcbf6f4f784184377434f71f1ac121517b023a
2 files changed