SetupBiometricEvents -> SetupBiometricEvent

This commit is contained in:
Benoit Marty 2026-05-06 10:40:14 +02:00 committed by Benoit Marty
parent 74d3014b2d
commit dd8cbad337
5 changed files with 13 additions and 13 deletions

View file

@ -8,7 +8,7 @@
package io.element.android.features.lockscreen.impl.setup.biometric package io.element.android.features.lockscreen.impl.setup.biometric
sealed interface SetupBiometricEvents { sealed interface SetupBiometricEvent {
data object AllowBiometric : SetupBiometricEvents data object AllowBiometric : SetupBiometricEvent
data object UsePin : SetupBiometricEvents data object UsePin : SetupBiometricEvent
} }

View file

@ -35,16 +35,16 @@ class SetupBiometricPresenter(
val coroutineScope = rememberCoroutineScope() val coroutineScope = rememberCoroutineScope()
val biometricUnlock = biometricAuthenticatorManager.rememberConfirmBiometricAuthenticator() val biometricUnlock = biometricAuthenticatorManager.rememberConfirmBiometricAuthenticator()
fun handleEvent(event: SetupBiometricEvents) { fun handleEvent(event: SetupBiometricEvent) {
when (event) { when (event) {
SetupBiometricEvents.AllowBiometric -> coroutineScope.launch { SetupBiometricEvent.AllowBiometric -> coroutineScope.launch {
biometricUnlock.setup() biometricUnlock.setup()
if (biometricUnlock.authenticate() == BiometricAuthenticator.AuthenticationResult.Success) { if (biometricUnlock.authenticate() == BiometricAuthenticator.AuthenticationResult.Success) {
lockScreenStore.setIsBiometricUnlockAllowed(true) lockScreenStore.setIsBiometricUnlockAllowed(true)
isBiometricSetupDone = true isBiometricSetupDone = true
} }
} }
SetupBiometricEvents.UsePin -> coroutineScope.launch { SetupBiometricEvent.UsePin -> coroutineScope.launch {
lockScreenStore.setIsBiometricUnlockAllowed(false) lockScreenStore.setIsBiometricUnlockAllowed(false)
isBiometricSetupDone = true isBiometricSetupDone = true
} }

View file

@ -10,5 +10,5 @@ package io.element.android.features.lockscreen.impl.setup.biometric
data class SetupBiometricState( data class SetupBiometricState(
val isBiometricSetupDone: Boolean, val isBiometricSetupDone: Boolean,
val eventSink: (SetupBiometricEvents) -> Unit val eventSink: (SetupBiometricEvent) -> Unit
) )

View file

@ -33,7 +33,7 @@ fun SetupBiometricView(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
) { ) {
BackHandler { BackHandler {
state.eventSink(SetupBiometricEvents.UsePin) state.eventSink(SetupBiometricEvent.UsePin)
} }
HeaderFooterPage( HeaderFooterPage(
modifier = modifier.padding(top = 80.dp), modifier = modifier.padding(top = 80.dp),
@ -42,8 +42,8 @@ fun SetupBiometricView(
}, },
footer = { footer = {
SetupBiometricFooter( SetupBiometricFooter(
onAllowClick = { state.eventSink(SetupBiometricEvents.AllowBiometric) }, onAllowClick = { state.eventSink(SetupBiometricEvent.AllowBiometric) },
onSkipClick = { state.eventSink(SetupBiometricEvents.UsePin) } onSkipClick = { state.eventSink(SetupBiometricEvent.UsePin) }
) )
}, },
) )

View file

@ -31,7 +31,7 @@ class SetupBiometricPresenterTest {
presenter.test { presenter.test {
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.isBiometricSetupDone).isFalse() assertThat(state.isBiometricSetupDone).isFalse()
state.eventSink(SetupBiometricEvents.AllowBiometric) state.eventSink(SetupBiometricEvent.AllowBiometric)
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.isBiometricSetupDone).isTrue() assertThat(state.isBiometricSetupDone).isTrue()
@ -50,7 +50,7 @@ class SetupBiometricPresenterTest {
presenter.test { presenter.test {
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.isBiometricSetupDone).isFalse() assertThat(state.isBiometricSetupDone).isFalse()
state.eventSink(SetupBiometricEvents.AllowBiometric) state.eventSink(SetupBiometricEvent.AllowBiometric)
} }
} }
assertThat(lockScreenStore.isBiometricUnlockAllowed().first()).isFalse() assertThat(lockScreenStore.isBiometricUnlockAllowed().first()).isFalse()
@ -63,7 +63,7 @@ class SetupBiometricPresenterTest {
presenter.test { presenter.test {
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.isBiometricSetupDone).isFalse() assertThat(state.isBiometricSetupDone).isFalse()
state.eventSink(SetupBiometricEvents.UsePin) state.eventSink(SetupBiometricEvent.UsePin)
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.isBiometricSetupDone).isTrue() assertThat(state.isBiometricSetupDone).isTrue()