Desks: Additional back-nav considerations
Handles the case where a back nav transition does not contain a trigger task and thus the forced-minimization (incl. the reparent to the minimization root) isn't handled by DesktopTasksController#handleRequest. Instead, DesktopBackNavTransitionObserver checks for to-back changes and applies the reparenting if needed. Close transitions don't need this treatment, since there is nothing to reparent and will just be saved as repository minimized state. Also makes a few changes to "in desktop" and "is desktop task" logic, to account for cases where we might not be "in desktop" anymore (because the back nav was on the last task that also deactivated the desk) and cases where the desktop task may not be W_M_FREEFORM. Flag: com.android.window.flags.enable_multiple_desktops_backend Fix: 413024179 Test: back nav different apps (Gmail, Chrome, YT - since some generate to-back vs close transitions) in different scenarios: - When the app is the last task - When the app is not the last task, and there are other tasks expanded - When the app is not the last task, but other tasks are all minimized Verify animation looks ok, and swiping up to overview doesn't show the app in the desktop tile (w/o exploded view) nor as a fullscreen tile. Test: to test non-trigger task cases - disable the back-nav handling logic in DesktopTasksController first. Change-Id: I95fdfbc63be77466677fc219a5ff4bddfce4f271
Loading
Please register or sign in to comment