Move Clock Compose Elements into Plugin Libs
In order to provide more flexibility to clock layouts when flexiglass ships, this change adds compose support to the clock interfaces. This lets clocks provide composable functions directly back to SystemUI. Because of how compose is structured, we couldn't include the library in the same way we included previous libraries (like ConstraintLayout). Instead, we've needed to include all the libraries statically to fix issues with kotlin inline compilation, as well as disabling certain proguard optimizations. We provide the ability for clocks (like weather) to have more distinct layouts by providing a dictionary of composable lockscreen elements for them to render internally. Clocks must be careful that the elements they are attempting to render are rendered elsewhere at the same time or this will cause a duplicate key failure within the scene. Currently only the smartspace elements are migrated to use this mechanism as they are the only elements that the current weather clock needs to integrate with. Bug: 432451019 Test: test_gradle_build.sh Test: Checked rendering of clocks in flexiglass Flag: com.android.systemui.scene_container Change-Id: Ib8cd96b0662afd8bf5a84738a67b1d22b1235dbb
Loading
Please register or sign in to comment