Add support for SystemUI Window Management
Enables SystemUI to create/position its own ui elements. First of all, this adds, to WM, the concept of a ShellRoot which represents a piece of the hierarchy that a client shell can do whatever it needs with. For now, multiple of these roots can be registered at various "levels" (which correspond to window types for now). This is needed because not everything will live in this piece of the hierarchy, so handling z-order will still be a shared effort between the Shell and WM for a while. On the SystemUI side, a new Dependency called SystemWindows provides simplistic window management for these system-ui windows via WindowlessWindowManagers per-display-per-layer. The benefit of this is that manipulation of these windows lives entirely in SystemUI making synchronization easier and making it possible to move a lot of the special handling code out of wm (eg. DOCK_DIVIDER). As a result, SystemUI becomes more customizable and WM becomes simpler. Early clients of this are going to be display-level IME handling and Split-screen. Bug: 133381284 Test: manual test after later CLs Change-Id: I1602d9b9b69d38b9ff15806e509cc8128c837748
Loading
Please register or sign in to comment