Reparent requestFullscreenMode requests from/to desks
Adds a new handler to identify client-requested to-fullscreen or exit-fullscreen changes (through the Activity.requestFullscreenMode API). When identified it performs the desktop-related setup/clean-up logic such as reparenting out of desk and deactivating the desk, or repareting to a desk and reactivating the desk. The transition is animated through DesktopMixedTransitionHandler first, since it's possible restoring might trigger a task-limit change. Note that these client requests are currently identified only by their transit type (TRANSIT_CHANGE) and Shell desktop state, which is enough to disambiguate since the desktop handler only cared about OPEN/TO_FRONT transitions before this, but may it may need to be updated to use a stronger signal (transit type, flag or TransitionRequestInfo data) in the future. Flag: com.android.window.flags.enable_multiple_desktops_backend Fix: 444605677 Test: m WMShellUnitTests Test: using test app or Chrome, request fullscreen through the API from a desk, then request exit and verify the task restores to the original desk or an existing/new desk if the desk was deleted Cherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:846261a3f3e3b14fbf68ad4ee3864d9ae65c10f9 Cherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:16064a31c161e996775ec2a00ca16b634b3575f2 Merged-In: I1565072a561165127cc1f6e36348339a773317ac Change-Id: I1565072a561165127cc1f6e36348339a773317ac
Loading
Please register or sign in to comment