swipe-dismiss: add IDecorViewGestureListener
- To allow implicit gesture interception at client side and provide
compatibility behavior to Wear OS apps depending on legacy swipe
dismiss behavior.
WMS:
- Add `register/unreigsterDecorViewGestureListener(IDecorViewGestureListener, displayId)`.
- Protect by MONITOR_INPUT permission
IWindowSession / Session:
- Add `reportDecorViewGestureInterceptionChanged(IWindow, boolean intercepted)`.
ViewRootImpl:
- Add MSG_DECOR_VIEW_GESTURE_INTERCEPTION, asynchronously report gesture
interception result to window session.
DecorView:
- Add WearGestureInterceptionDetector for WearOS system gesture
interception logic.
- Reports gesture interception through ViewRootImpl
More context: go/wear-gestural-navigation-2023
Test: manual, http://shortn/_tEmDzQ2LOS
Bug: 297923810
Change-Id: I279963433e5e44940f884883be6807f182577bd1
10 files changed