LockScreenSettingsEvents -> LockScreenSettingsEvent
This commit is contained in:
parent
94d37c68d5
commit
bc60512e10
5 changed files with 22 additions and 22 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -13,5 +13,5 @@ data class LockScreenSettingsState(
|
|||
val isBiometricEnabled: Boolean,
|
||||
val showRemovePinConfirmation: Boolean,
|
||||
val showToggleBiometric: Boolean,
|
||||
val eventSink: (LockScreenSettingsEvents) -> Unit
|
||||
val eventSink: (LockScreenSettingsEvent) -> Unit
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue