Flexible 2-app split: Touch zones
Changes how we detect a user's intent to change apps in flexible split.
Previously, we relied on the app's TO_FRONT transition, which works in most cases, but notably fails on the swipe-up-to-Overview gesture (the swiped-over app briefly receives a TO_FRONT, which creates problems). Now, we use a new toggleable, touchable View which is attached to the split root. The touch zone is set and unset as the split layout changes. The zone lives behind insets and Taskbar surfaces, so it doesn't interfere with those, and screen-edge swipes are properly ignored.
One small issue: The status bar blocks touches to this zone, so the touch zone feels a little small in portrait split when the top app is offscreen.
Bug: 349828130
Flag: com.android.wm.shell.enable_flexible_two_app_split
Test: Unchanged behavior when flag is off
Change-Id: Iaaf62f15ae1a5c95d63ea601da5d5a9d4e75917e
6 files changed