Merge "[Bouncer] Change message to shared flow." into tm-qpr-dev

This commit is contained in:
Aaron Liu
2022-11-12 17:49:04 +00:00
committed by Android (Google) Code Review
3 changed files with 10 additions and 5 deletions

View File

@@ -23,7 +23,10 @@ import com.android.systemui.keyguard.shared.model.BouncerShowMessageModel
import com.android.systemui.keyguard.shared.model.KeyguardBouncerModel import com.android.systemui.keyguard.shared.model.KeyguardBouncerModel
import com.android.systemui.statusbar.phone.KeyguardBouncer import com.android.systemui.statusbar.phone.KeyguardBouncer
import javax.inject.Inject import javax.inject.Inject
import kotlinx.coroutines.channels.BufferOverflow
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asSharedFlow
import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.asStateFlow
/** Encapsulates app state for the lock screen primary and alternate bouncer. */ /** Encapsulates app state for the lock screen primary and alternate bouncer. */
@@ -68,8 +71,12 @@ constructor(
private val _keyguardAuthenticated = MutableStateFlow<Boolean?>(null) private val _keyguardAuthenticated = MutableStateFlow<Boolean?>(null)
/** Determines if user is already unlocked */ /** Determines if user is already unlocked */
val keyguardAuthenticated = _keyguardAuthenticated.asStateFlow() val keyguardAuthenticated = _keyguardAuthenticated.asStateFlow()
private val _showMessage = MutableStateFlow<BouncerShowMessageModel?>(null) private val _showMessage =
val showMessage = _showMessage.asStateFlow() MutableSharedFlow<BouncerShowMessageModel?>(
replay = 1,
onBufferOverflow = BufferOverflow.DROP_OLDEST
)
val showMessage = _showMessage.asSharedFlow()
private val _resourceUpdateRequests = MutableStateFlow(false) private val _resourceUpdateRequests = MutableStateFlow(false)
val resourceUpdateRequests = _resourceUpdateRequests.asStateFlow() val resourceUpdateRequests = _resourceUpdateRequests.asStateFlow()
val bouncerPromptReason: Int val bouncerPromptReason: Int
@@ -118,7 +125,7 @@ constructor(
} }
fun setShowMessage(bouncerShowMessageModel: BouncerShowMessageModel?) { fun setShowMessage(bouncerShowMessageModel: BouncerShowMessageModel?) {
_showMessage.value = bouncerShowMessageModel _showMessage.tryEmit(bouncerShowMessageModel)
} }
fun setKeyguardAuthenticated(keyguardAuthenticated: Boolean?) { fun setKeyguardAuthenticated(keyguardAuthenticated: Boolean?) {

View File

@@ -117,7 +117,6 @@ constructor(
@JvmOverloads @JvmOverloads
fun show(isScrimmed: Boolean) { fun show(isScrimmed: Boolean) {
// Reset some states as we show the bouncer. // Reset some states as we show the bouncer.
repository.setShowMessage(null)
repository.setOnScreenTurnedOff(false) repository.setOnScreenTurnedOff(false)
repository.setKeyguardAuthenticated(null) repository.setKeyguardAuthenticated(null)
repository.setPrimaryHide(false) repository.setPrimaryHide(false)

View File

@@ -93,7 +93,6 @@ class PrimaryBouncerInteractorTest : SysuiTestCase() {
@Test @Test
fun testShow_isScrimmed() { fun testShow_isScrimmed() {
mPrimaryBouncerInteractor.show(true) mPrimaryBouncerInteractor.show(true)
verify(repository).setShowMessage(null)
verify(repository).setOnScreenTurnedOff(false) verify(repository).setOnScreenTurnedOff(false)
verify(repository).setKeyguardAuthenticated(null) verify(repository).setKeyguardAuthenticated(null)
verify(repository).setPrimaryHide(false) verify(repository).setPrimaryHide(false)