SetupBiometricEvents -> SetupBiometricEvent
This commit is contained in:
parent
74d3014b2d
commit
dd8cbad337
5 changed files with 13 additions and 13 deletions
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -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) }
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue