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

Commit 8a39516e authored by Jordan Demeulenaere's avatar Jordan Demeulenaere
Browse files

Add a DefaultElementContentPicker factory for movable elements

This CL adds a DefaultElementContentPicker factory that can be used to
create a static picker for movable elements. I decided to use the same
PascalCase that needs to be used with the other pickers for consistency.

Bug: 353679003
Test: Trivial change
Flag: com.android.systemui.scene_container
Change-Id: I07ba56ce2ea17f13f79ec87af1948011289423aa
parent aa86e4a7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -107,6 +107,7 @@ class MovableElementKey(
     * The [StaticElementContentPicker] to use when deciding in which scene we should draw shared
     * Elements or compose MovableElements.
     *
     * @see DefaultElementContentPicker
     * @see MovableElementContentPicker
     */
    override val contentPicker: StaticElementContentPicker,
+10 −0
Original line number Diff line number Diff line
@@ -305,6 +305,11 @@ interface ElementContentPicker {
 * An element picker on which we can query the set of contents (scenes or overlays) that contain the
 * element. This is needed by [MovableElement], that needs to know at composition time on which of
 * the candidate contents an element should be composed.
 *
 * @see DefaultElementContentPicker(contents)
 * @see HighestZIndexContentPicker(contents)
 * @see LowestZIndexContentPicker(contents)
 * @see MovableElementContentPicker
 */
interface StaticElementContentPicker : ElementContentPicker {
    /** The exhaustive lists of contents that contain this element. */
@@ -434,6 +439,11 @@ class MovableElementContentPicker(
/** The default [ElementContentPicker]. */
val DefaultElementContentPicker = HighestZIndexContentPicker

/** The [DefaultElementContentPicker] that can be used for [MovableElement]s. */
fun DefaultElementContentPicker(contents: Set<ContentKey>): StaticElementContentPicker {
    return HighestZIndexContentPicker(contents)
}

@TransitionDsl
interface PropertyTransformationBuilder {
    /**