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

Commit 11d628f3 authored by Josh Tsuji's avatar Josh Tsuji Committed by Android (Google) Code Review
Browse files

Merge "Notify the dismiss callbacks when we finish transitioning to GONE." into main

parents 203cbd6a 5378a36a
Loading
Loading
Loading
Loading
+17 −5
Original line number Diff line number Diff line
@@ -23,10 +23,12 @@ import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.keyguard.DismissCallbackRegistry
import com.android.systemui.keyguard.KeyguardWmStateRefactor
import com.android.systemui.keyguard.data.repository.KeyguardRepository
import com.android.systemui.keyguard.data.repository.TrustRepository
import com.android.systemui.keyguard.shared.model.DismissAction
import com.android.systemui.keyguard.shared.model.KeyguardDone
import com.android.systemui.keyguard.shared.model.KeyguardState
import com.android.systemui.power.domain.interactor.PowerInteractor
import com.android.systemui.user.domain.interactor.SelectedUserInteractor
import com.android.systemui.util.kotlin.Utils.Companion.toQuad
@@ -35,6 +37,7 @@ import javax.inject.Inject
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.filter
import kotlinx.coroutines.flow.map
@@ -56,6 +59,7 @@ constructor(
    trustRepository: TrustRepository,
    alternateBouncerInteractor: AlternateBouncerInteractor,
    powerInteractor: PowerInteractor,
    keyguardTransitionInteractor: KeyguardTransitionInteractor,
) {
    /*
     * Updates when a biometric has authenticated the device and is requesting to dismiss
@@ -76,9 +80,9 @@ constructor(
                    primaryBouncerInteractor.isShowing,
                    alternateBouncerInteractor.isVisible,
                    powerInteractor.isInteractive,
                    ::Triple
                    ::Triple,
                ),
                ::toQuad
                ::toQuad,
            )
            .filter { (trustModel, primaryBouncerShowing, altBouncerShowing, interactive) ->
                val bouncerShowing = primaryBouncerShowing || altBouncerShowing
@@ -144,9 +148,7 @@ constructor(
     *
     * TODO(b/358412565): Support dismiss messages.
     */
    fun dismissKeyguardWithCallback(
        callback: IKeyguardDismissCallback?,
    ) {
    fun dismissKeyguardWithCallback(callback: IKeyguardDismissCallback?) {
        scope.launch {
            withContext(mainDispatcher) {
                if (callback != null) {
@@ -163,4 +165,14 @@ constructor(
            }
        }
    }

    init {
        if (KeyguardWmStateRefactor.isEnabled) {
            scope.launch {
                keyguardTransitionInteractor.currentKeyguardState
                    .filter { it == KeyguardState.GONE }
                    .collect { dismissCallbackRegistry.notifyDismissSucceeded() }
            }
        }
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -41,5 +41,6 @@ val Kosmos.keyguardDismissInteractor by
            trustRepository = trustRepository,
            alternateBouncerInteractor = alternateBouncerInteractor,
            powerInteractor = powerInteractor,
            keyguardTransitionInteractor = keyguardTransitionInteractor,
        )
    }