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

Commit 7eac9abb authored by Lucas Silva's avatar Lucas Silva
Browse files

Update DREAM->HUB transition to use scene as source-of-truth

Instead of manually starting the KeyguardState transition, we rely on
the scene change to trigger the transition in KeyguardState. This
ensures the scene is the one driving the transition, therefore keeping
the two in sync.

Bug: 336294198
Test: tap to exit dream with glanceable hub enabled
Test: atest KeyguardTransitionScenariosTest
Flag: ACONFIG com.android.systemui.communal_hub TEAMFOOD
Change-Id: I46d7e070b8cc662c2e4bc845d59743c7fbbb6eb3
parent 9adec260
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ constructor(
    configurationInteractor: ConfigurationInteractor,
    keyguardTransitionInteractor: KeyguardTransitionInteractor,
    fromGlanceableHubTransitionInteractor: GlanceableHubToDreamingTransitionViewModel,
    private val toGlanceableHubTransitionViewModel: DreamingToGlanceableHubTransitionViewModel,
    toGlanceableHubTransitionViewModel: DreamingToGlanceableHubTransitionViewModel,
    private val toLockscreenTransitionViewModel: DreamingToLockscreenTransitionViewModel,
    private val communalInteractor: CommunalInteractor,
    private val keyguardUpdateMonitor: KeyguardUpdateMonitor,
@@ -60,7 +60,6 @@ constructor(
            communalInteractor.isCommunalEnabled.value &&
                !keyguardUpdateMonitor.isEncryptedOrLockdown(userTracker.userId)
        if (showGlanceableHub) {
            toGlanceableHubTransitionViewModel.startTransition()
            communalInteractor.changeScene(CommunalScenes.Communal)
        } else {
            toLockscreenTransitionViewModel.startTransition()
+0 −12
Original line number Diff line number Diff line
@@ -124,18 +124,6 @@ constructor(
        }
    }

    fun startToGlanceableHubTransition() {
        scope.launch {
            KeyguardWmStateRefactor.isUnexpectedlyInLegacyMode()
            if (
                transitionInteractor.startedKeyguardState.replayCache.last() ==
                    KeyguardState.DREAMING
            ) {
                startTransitionTo(KeyguardState.GLANCEABLE_HUB)
            }
        }
    }

    @OptIn(FlowPreview::class)
    private fun listenForDreamingToOccluded() {
        if (KeyguardWmStateRefactor.isEnabled) {
+0 −4
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.systemui.keyguard.ui.viewmodel
import com.android.app.animation.Interpolators.EMPHASIZED
import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.keyguard.domain.interactor.FromDreamingTransitionInteractor
import com.android.systemui.keyguard.shared.model.KeyguardState
import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow
import com.android.systemui.res.R
@@ -38,10 +37,7 @@ class DreamingToGlanceableHubTransitionViewModel
constructor(
    animationFlow: KeyguardTransitionAnimationFlow,
    configurationInteractor: ConfigurationInteractor,
    private val fromDreamingTransitionInteractor: FromDreamingTransitionInteractor,
) {
    fun startTransition() = fromDreamingTransitionInteractor.startToGlanceableHubTransition()

    private val transitionAnimation =
        animationFlow.setup(
            duration = TO_GLANCEABLE_HUB_DURATION,
+0 −2
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.systemui.keyguard.ui.viewmodel

import com.android.systemui.common.ui.domain.interactor.configurationInteractor
import com.android.systemui.keyguard.domain.interactor.fromDreamingTransitionInteractor
import com.android.systemui.keyguard.ui.keyguardTransitionAnimationFlow
import com.android.systemui.kosmos.Kosmos

@@ -26,6 +25,5 @@ val Kosmos.dreamingToGlanceableHubTransitionViewModel by
        DreamingToGlanceableHubTransitionViewModel(
            configurationInteractor = configurationInteractor,
            animationFlow = keyguardTransitionAnimationFlow,
            fromDreamingTransitionInteractor = fromDreamingTransitionInteractor
        )
    }