LockScreenSettingsEvents -> LockScreenSettingsEvent

This commit is contained in:
Benoit Marty 2026-05-06 10:39:52 +02:00 committed by Benoit Marty
parent 94d37c68d5
commit bc60512e10
5 changed files with 22 additions and 22 deletions

View file

@ -8,9 +8,9 @@
package io.element.android.features.lockscreen.impl.settings
sealed interface LockScreenSettingsEvents {
data object OnRemovePin : LockScreenSettingsEvents
data object ConfirmRemovePin : LockScreenSettingsEvents
data object CancelRemovePin : LockScreenSettingsEvents
data object ToggleBiometricAllowed : LockScreenSettingsEvents
sealed interface LockScreenSettingsEvent {
data object OnRemovePin : LockScreenSettingsEvent
data object ConfirmRemovePin : LockScreenSettingsEvent
data object CancelRemovePin : LockScreenSettingsEvent
data object ToggleBiometricAllowed : LockScreenSettingsEvent
}

View file

@ -51,10 +51,10 @@ class LockScreenSettingsPresenter(
val biometricUnlock = biometricAuthenticatorManager.rememberConfirmBiometricAuthenticator()
fun handleEvent(event: LockScreenSettingsEvents) {
fun handleEvent(event: LockScreenSettingsEvent) {
when (event) {
LockScreenSettingsEvents.CancelRemovePin -> showRemovePinConfirmation = false
LockScreenSettingsEvents.ConfirmRemovePin -> {
LockScreenSettingsEvent.CancelRemovePin -> showRemovePinConfirmation = false
LockScreenSettingsEvent.ConfirmRemovePin -> {
coroutineScope.launch {
if (showRemovePinConfirmation) {
showRemovePinConfirmation = false
@ -62,8 +62,8 @@ class LockScreenSettingsPresenter(
}
}
}
LockScreenSettingsEvents.OnRemovePin -> showRemovePinConfirmation = true
LockScreenSettingsEvents.ToggleBiometricAllowed -> {
LockScreenSettingsEvent.OnRemovePin -> showRemovePinConfirmation = true
LockScreenSettingsEvent.ToggleBiometricAllowed -> {
coroutineScope.launch {
if (!isBiometricEnabled) {
biometricUnlock.setup()

View file

@ -13,5 +13,5 @@ data class LockScreenSettingsState(
val isBiometricEnabled: Boolean,
val showRemovePinConfirmation: Boolean,
val showToggleBiometric: Boolean,
val eventSink: (LockScreenSettingsEvents) -> Unit
val eventSink: (LockScreenSettingsEvent) -> Unit
)

View file

@ -51,7 +51,7 @@ fun LockScreenSettingsView(
},
style = ListItemStyle.Destructive,
onClick = {
state.eventSink(LockScreenSettingsEvents.OnRemovePin)
state.eventSink(LockScreenSettingsEvent.OnRemovePin)
}
)
}
@ -61,7 +61,7 @@ fun LockScreenSettingsView(
title = stringResource(id = R.string.screen_app_lock_settings_enable_biometric_unlock),
isChecked = state.isBiometricEnabled,
onCheckedChange = {
state.eventSink(LockScreenSettingsEvents.ToggleBiometricAllowed)
state.eventSink(LockScreenSettingsEvent.ToggleBiometricAllowed)
}
)
}
@ -72,10 +72,10 @@ fun LockScreenSettingsView(
title = stringResource(id = R.string.screen_app_lock_settings_remove_pin_alert_title),
content = stringResource(id = R.string.screen_app_lock_settings_remove_pin_alert_message),
onSubmitClick = {
state.eventSink(LockScreenSettingsEvents.ConfirmRemovePin)
state.eventSink(LockScreenSettingsEvent.ConfirmRemovePin)
},
onDismiss = {
state.eventSink(LockScreenSettingsEvents.CancelRemovePin)
state.eventSink(LockScreenSettingsEvent.CancelRemovePin)
}
)
}

View file

@ -43,19 +43,19 @@ class LockScreenSettingsPresenterTest {
consumeItemsUntilPredicate { state ->
state.showRemovePinOption
}.last().also { state ->
state.eventSink(LockScreenSettingsEvents.OnRemovePin)
state.eventSink(LockScreenSettingsEvent.OnRemovePin)
}
awaitLastSequentialItem().also { state ->
assertThat(state.showRemovePinConfirmation).isTrue()
state.eventSink(LockScreenSettingsEvents.CancelRemovePin)
state.eventSink(LockScreenSettingsEvent.CancelRemovePin)
}
awaitLastSequentialItem().also { state ->
assertThat(state.showRemovePinConfirmation).isFalse()
state.eventSink(LockScreenSettingsEvents.OnRemovePin)
state.eventSink(LockScreenSettingsEvent.OnRemovePin)
}
awaitLastSequentialItem().also { state ->
assertThat(state.showRemovePinConfirmation).isTrue()
state.eventSink(LockScreenSettingsEvents.ConfirmRemovePin)
state.eventSink(LockScreenSettingsEvent.ConfirmRemovePin)
}
consumeItemsUntilPredicate {
it.showRemovePinOption.not()
@ -93,7 +93,7 @@ class LockScreenSettingsPresenterTest {
presenter.test {
skipItems(1)
awaitItem().also { state ->
state.eventSink(LockScreenSettingsEvents.ToggleBiometricAllowed)
state.eventSink(LockScreenSettingsEvent.ToggleBiometricAllowed)
}
awaitItem().also { state ->
assertThat(state.isBiometricEnabled).isTrue()
@ -114,7 +114,7 @@ class LockScreenSettingsPresenterTest {
presenter.test {
skipItems(1)
awaitItem().also { state ->
state.eventSink(LockScreenSettingsEvents.ToggleBiometricAllowed)
state.eventSink(LockScreenSettingsEvent.ToggleBiometricAllowed)
}
}
}
@ -137,7 +137,7 @@ class LockScreenSettingsPresenterTest {
skipItems(1)
awaitItem().also { state ->
assertThat(state.isBiometricEnabled).isTrue()
state.eventSink(LockScreenSettingsEvents.ToggleBiometricAllowed)
state.eventSink(LockScreenSettingsEvent.ToggleBiometricAllowed)
}
awaitItem().also { state ->
assertThat(state.isBiometricEnabled).isFalse()