Modify 2-column layout to handle both dual and split shade
The two column layout mode for flexiglass lockscreen assumes that the only supported notification position is start aligned notifications. This is problematic becuase notification alignment on lockscreen is aligned the same way as they are in the shade. Since the position of notifications in the shade is becoming dependent on the dual-shade user setting, we must support both notification positions seamlessly. This is slightly tricky because notification alignment (and therefore shade mode) informs other design decisions like placement of the big clock and the clock size in certain scenarios. As a result, this change moves responsibility for layout of lockscreen elements above the lock icon away from LockscreenSceneLayout and into a new element responsible for layout of the "UpperRegion". Doing this reduces somewhat the the flexibility afforded by using a Compose Layout, but ends up drastically simplifying LockscreenSceneLayout and it's associated ViewModel as well as making each version of the layout easier to reason about. To facilitate this shift in responsibilities, this change also migrates the media and notification elements to use the LockscreenElementFactory. Further, we are able to simplify LockscreenContentViewModel by moving some of the hydrated layout properties into a new ViewModel. Bug: 432451019 Test: Manually checked 2-column layout Flag: com.android.systemui.scene_container Change-Id: Ibbc904fb8261f3acb4af17f8564e21e6ba35327a
Loading
Please register or sign in to comment