Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 5dda9113 authored by Alejandro Nijamkin's avatar Alejandro Nijamkin
Browse files

[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
parent ff50b586
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment