[flexiglass] Compose version of KeyguardRootView.
1. In order to be able to take advantage of shared element transition animations when switching between Flexiglass scenes, we need to have an unbroken chain of @Composable functions from the root at SceneContainer all the way down to the immediate parent of each of those shared elements. 2. In order to enable that ability for media (UMO) on the LockscreenScene, we must replace KeyguardRootView with an @Composable equivalent, this CL does that. 3. Because Jetpack Compose doesn't come with built-in support for ConstraintLayout (unless we take on a resource-heavy dependency on Compose's ConstraintLayout) and because the performance and readability benefits that ConstraintLayout brings to View-based code are not applicable to Compose-based code, this CL also replaces the existing blueprint/section ConstraintSet-dependent framework with a new blueprint/section framework that's pure Compose. 4. As a demonstration, the CL includes the default blueprint implementation and two real sections: status bar and bottom area. The rest are rendered as placeholder color boxes but should be relatively easy to add. 5. Finally, to switch between the KeyguardRootView implementation and the new Compose-based implementation, set the UseLockscreenContent constant in LockscreenScene.kt Bug: 316211368 Test: manually verified that the default blueprint loosk more or less correct (see https://screenshot.googleplex.com/64Y8NaTAHiFddYs for what it looks like on a foldable). Test: used the blueprint switching command adb shell cmd statusbar blueprint to manually verify that switching between blueprints works and goes to the other, placeholder/TODO blueprints as intended Flag: ACONFIG com.android.systemui.scene_container DEVELOPMENT Change-Id: Ife687d6f2a5fcb6680cc769d9d8e3aad05e63956
Loading
Please register or sign in to comment