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

Commit 5cce2ad0 authored by Andreas Miko's avatar Andreas Miko
Browse files

[Flexiglass] Fix SharedNotificationContainerViewModel

Transform deprecated KTF states to work in Flexiglass.

Add some more test utilities to be able to test scene container flag on/
off without copying the same test.

Bug: b/349784682
Flag: com.android.systemui.scene_container
Test: Added unit tests for scene container
Change-Id: I91578f20a9d6c2045fe68594485e7f6cfa903661
parent 7fec56e0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -190,7 +190,7 @@ sealed interface ObservableTransitionState {
        }
    }

    fun isIdle(scene: SceneKey?): Boolean {
    fun isIdle(scene: SceneKey? = null): Boolean {
        return this is Idle && (scene == null || this.currentScene == scene)
    }

+165 −108

File changed.

Preview size limit exceeded, changes collapsed.

+20 −9
Original line number Diff line number Diff line
@@ -29,7 +29,10 @@ import com.android.systemui.keyguard.shared.model.KeyguardState
import com.android.systemui.keyguard.shared.model.KeyguardState.ALTERNATE_BOUNCER
import com.android.systemui.keyguard.shared.model.KeyguardState.AOD
import com.android.systemui.keyguard.shared.model.KeyguardState.DOZING
import com.android.systemui.keyguard.shared.model.KeyguardState.GONE
import com.android.systemui.keyguard.shared.model.KeyguardState.LOCKSCREEN
import com.android.systemui.keyguard.shared.model.KeyguardState.OCCLUDED
import com.android.systemui.keyguard.shared.model.KeyguardState.OFF
import com.android.systemui.keyguard.shared.model.KeyguardState.PRIMARY_BOUNCER
import com.android.systemui.keyguard.shared.model.KeyguardState.UNDEFINED
import com.android.systemui.keyguard.shared.model.TransitionState
@@ -126,8 +129,10 @@ constructor(
            repository.transitions
                .filter { it.transitionState != TransitionState.CANCELED }
                .collect { step ->
                    getTransitionValueFlow(step.from).emit(1f - step.value)
                    getTransitionValueFlow(step.to).emit(step.value)
                    val value =
                        if (step.transitionState == TransitionState.FINISHED) 1f else step.value
                    getTransitionValueFlow(step.from).emit(1f - value)
                    getTransitionValueFlow(step.to).emit(value)
                }
        }

@@ -183,8 +188,14 @@ constructor(
        }
    }

    fun transition(edge: Edge, edgeWithoutSceneContainer: Edge): Flow<TransitionStep> {
        return transition(if (SceneContainerFlag.isEnabled) edge else edgeWithoutSceneContainer)
    fun transition(edge: Edge, edgeWithoutSceneContainer: Edge? = null): Flow<TransitionStep> {
        return transition(
            if (SceneContainerFlag.isEnabled || edgeWithoutSceneContainer == null) {
                edge
            } else {
                edgeWithoutSceneContainer
            }
        )
    }

    /** Given an [edge], return a Flow to collect only relevant [TransitionStep]s. */
@@ -250,10 +261,10 @@ constructor(
    }

    fun transitionValue(
        scene: SceneKey,
        scene: SceneKey? = null,
        stateWithoutSceneContainer: KeyguardState,
    ): Flow<Float> {
        return if (SceneContainerFlag.isEnabled) {
        return if (SceneContainerFlag.isEnabled && scene != null) {
            sceneInteractor.transitionProgress(scene)
        } else {
            transitionValue(stateWithoutSceneContainer)
@@ -410,7 +421,7 @@ constructor(
                }
            }
            .distinctUntilChanged()
            .stateIn(scope, SharingStarted.Eagerly, KeyguardState.OFF)
            .stateIn(scope, SharingStarted.Eagerly, OFF)

    val isInTransition =
        combine(
@@ -438,8 +449,8 @@ constructor(
                fromAlternateBouncerTransitionInteractor.get().dismissAlternateBouncer()
            AOD -> fromAodTransitionInteractor.get().dismissAod()
            DOZING -> fromDozingTransitionInteractor.get().dismissFromDozing()
            KeyguardState.OCCLUDED -> fromOccludedTransitionInteractor.get().dismissFromOccluded()
            KeyguardState.GONE ->
            OCCLUDED -> fromOccludedTransitionInteractor.get().dismissFromOccluded()
            GONE ->
                Log.i(
                    TAG,
                    "Already transitioning to GONE; ignoring startDismissKeyguardTransition."
+32 −40

File changed.

Preview size limit exceeded, changes collapsed.

+39 −0

File changed.

Preview size limit exceeded, changes collapsed.

Loading