[2/N] Use DisplayChange for desk display disconnect.
Rather than routing transitions through the DesksTransitionObserver, this CL uses disconnectReparentDisplay added to DisplayChange to handle requests for disconnect transitions in DesktopTasksController. This has the benefit of allowing shell to make reparenting decisions before core has a chance to. This means Shell is largely responsible for the desk disconnect behavior now, which follows two main rules: 1 - If the destination display supports desktop, reparent all desks to the new display, with the focused desk on top. 2 - If the destination display does not support desktop, reparent all tasks in all desks to the destination display and revert them to FULLSCREEN, with the globally focused task on top. Since the handling in DesksTransitionObserver is no longer used, it has all been reverted. Bug: 391652399 Test: Manual; disconnect a display from both tablet and phone, with different focused displays. Ensure all above rules apply. Flag: com.android.window.flags.enable_display_disconnect_interaction Change-Id: Iaf6c66a70dbec23e7e6abb6d6e737c668087369a
Loading
Please register or sign in to comment