diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyEvents.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyEvent.kt similarity index 62% rename from features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyEvents.kt rename to features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyEvent.kt index 644756b957..ac5aa751b6 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyEvents.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyEvent.kt @@ -8,9 +8,9 @@ package io.element.android.features.securebackup.impl.enter -sealed interface SecureBackupEnterRecoveryKeyEvents { - data class OnRecoveryKeyChange(val recoveryKey: String) : SecureBackupEnterRecoveryKeyEvents - data class ChangeRecoveryKeyFieldContentsVisibility(val visible: Boolean) : SecureBackupEnterRecoveryKeyEvents - data object Submit : SecureBackupEnterRecoveryKeyEvents - data object ClearDialog : SecureBackupEnterRecoveryKeyEvents +sealed interface SecureBackupEnterRecoveryKeyEvent { + data class OnRecoveryKeyChange(val recoveryKey: String) : SecureBackupEnterRecoveryKeyEvent + data class ChangeRecoveryKeyFieldContentsVisibility(val visible: Boolean) : SecureBackupEnterRecoveryKeyEvent + data object Submit : SecureBackupEnterRecoveryKeyEvent + data object ClearDialog : SecureBackupEnterRecoveryKeyEvent } diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyPresenter.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyPresenter.kt index 9a71cf1727..bbc61cc283 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyPresenter.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyPresenter.kt @@ -45,12 +45,12 @@ class SecureBackupEnterRecoveryKeyPresenter( mutableStateOf(AsyncAction.Uninitialized) } - fun handleEvent(event: SecureBackupEnterRecoveryKeyEvents) { + fun handleEvent(event: SecureBackupEnterRecoveryKeyEvent) { when (event) { - SecureBackupEnterRecoveryKeyEvents.ClearDialog -> { + SecureBackupEnterRecoveryKeyEvent.ClearDialog -> { submitAction.value = AsyncAction.Uninitialized } - is SecureBackupEnterRecoveryKeyEvents.OnRecoveryKeyChange -> { + is SecureBackupEnterRecoveryKeyEvent.OnRecoveryKeyChange -> { val previousRecoveryKey = recoveryKey recoveryKey = if (previousRecoveryKey.isEmpty() && recoveryKeyTools.isRecoveryKeyFormatValid(event.recoveryKey)) { // A Recovery key has been entered, remove the spaces for a better rendering @@ -60,11 +60,11 @@ class SecureBackupEnterRecoveryKeyPresenter( event.recoveryKey } } - SecureBackupEnterRecoveryKeyEvents.Submit -> { + SecureBackupEnterRecoveryKeyEvent.Submit -> { // No need to remove the spaces, the SDK will do it. coroutineScope.submitRecoveryKey(recoveryKey, submitAction) } - is SecureBackupEnterRecoveryKeyEvents.ChangeRecoveryKeyFieldContentsVisibility -> { + is SecureBackupEnterRecoveryKeyEvent.ChangeRecoveryKeyFieldContentsVisibility -> { displayRecoveryKeyFieldContents = event.visible } } diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyState.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyState.kt index 45a6989c15..188419553a 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyState.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyState.kt @@ -15,5 +15,5 @@ data class SecureBackupEnterRecoveryKeyState( val recoveryKeyViewState: RecoveryKeyViewState, val isSubmitEnabled: Boolean, val submitAction: AsyncAction, - val eventSink: (SecureBackupEnterRecoveryKeyEvents) -> Unit + val eventSink: (SecureBackupEnterRecoveryKeyEvent) -> Unit ) diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyStatePreviewParam.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyStatePreviewParam.kt index 5041f4ab92..90a040106c 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyStatePreviewParam.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyStatePreviewParam.kt @@ -30,7 +30,7 @@ fun aSecureBackupEnterRecoveryKeyState( isSubmitEnabled: Boolean = recoveryKey.isNotEmpty(), displayTextFieldContents: Boolean = true, submitAction: AsyncAction = AsyncAction.Uninitialized, - eventSink: (SecureBackupEnterRecoveryKeyEvents) -> Unit = {}, + eventSink: (SecureBackupEnterRecoveryKeyEvent) -> Unit = {}, ) = SecureBackupEnterRecoveryKeyState( recoveryKeyViewState = RecoveryKeyViewState( recoveryKeyUserStory = RecoveryKeyUserStory.Enter, diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyView.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyView.kt index 823bbf5c80..db3f228f8b 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyView.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyView.kt @@ -41,7 +41,7 @@ fun SecureBackupEnterRecoveryKeyView( progressDialog = { }, errorTitle = { stringResource(id = R.string.screen_recovery_key_confirm_error_title) }, errorMessage = { stringResource(id = R.string.screen_recovery_key_confirm_error_content) }, - onErrorDismiss = { state.eventSink(SecureBackupEnterRecoveryKeyEvents.ClearDialog) }, + onErrorDismiss = { state.eventSink(SecureBackupEnterRecoveryKeyEvent.ClearDialog) }, ) FlowStepPage( @@ -68,13 +68,13 @@ private fun Content( state = state.recoveryKeyViewState, onClick = null, onChange = { - state.eventSink.invoke(SecureBackupEnterRecoveryKeyEvents.OnRecoveryKeyChange(it)) + state.eventSink.invoke(SecureBackupEnterRecoveryKeyEvent.OnRecoveryKeyChange(it)) }, onSubmit = { - state.eventSink.invoke(SecureBackupEnterRecoveryKeyEvents.Submit) + state.eventSink.invoke(SecureBackupEnterRecoveryKeyEvent.Submit) }, toggleRecoveryKeyVisibility = { - state.eventSink(SecureBackupEnterRecoveryKeyEvents.ChangeRecoveryKeyFieldContentsVisibility(it)) + state.eventSink(SecureBackupEnterRecoveryKeyEvent.ChangeRecoveryKeyFieldContentsVisibility(it)) } ) } @@ -89,7 +89,7 @@ private fun ColumnScope.Buttons( showProgress = state.submitAction.isLoading(), modifier = Modifier.fillMaxWidth(), onClick = { - state.eventSink.invoke(SecureBackupEnterRecoveryKeyEvents.Submit) + state.eventSink.invoke(SecureBackupEnterRecoveryKeyEvent.Submit) } ) } diff --git a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyPresenterTest.kt b/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyPresenterTest.kt index a6ffb57dc4..a1c7d697d6 100644 --- a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyPresenterTest.kt +++ b/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyPresenterTest.kt @@ -56,7 +56,7 @@ class SecureBackupEnterRecoveryKeyPresenterTest { presenter.present() }.test { val initialState = awaitItem() - initialState.eventSink(SecureBackupEnterRecoveryKeyEvents.OnRecoveryKeyChange("1234")) + initialState.eventSink(SecureBackupEnterRecoveryKeyEvent.OnRecoveryKeyChange("1234")) val withRecoveryKeyState = awaitItem() assertThat(withRecoveryKeyState.isSubmitEnabled).isTrue() assertThat(withRecoveryKeyState.recoveryKeyViewState).isEqualTo( @@ -68,19 +68,19 @@ class SecureBackupEnterRecoveryKeyPresenterTest { ) ) encryptionService.givenRecoverFailure(AN_EXCEPTION) - withRecoveryKeyState.eventSink(SecureBackupEnterRecoveryKeyEvents.Submit) + withRecoveryKeyState.eventSink(SecureBackupEnterRecoveryKeyEvent.Submit) val loadingState = awaitItem() assertThat(loadingState.submitAction).isEqualTo(AsyncAction.Loading) assertThat(loadingState.isSubmitEnabled).isFalse() val errorState = awaitItem() assertThat(errorState.submitAction).isEqualTo(AsyncAction.Failure(AN_EXCEPTION)) assertThat(errorState.isSubmitEnabled).isFalse() - errorState.eventSink(SecureBackupEnterRecoveryKeyEvents.ClearDialog) + errorState.eventSink(SecureBackupEnterRecoveryKeyEvent.ClearDialog) val clearedState = awaitItem() assertThat(clearedState.submitAction).isEqualTo(AsyncAction.Uninitialized) assertThat(clearedState.isSubmitEnabled).isTrue() encryptionService.givenRecoverFailure(null) - clearedState.eventSink(SecureBackupEnterRecoveryKeyEvents.Submit) + clearedState.eventSink(SecureBackupEnterRecoveryKeyEvent.Submit) val loadingState2 = awaitItem() assertThat(loadingState2.submitAction).isEqualTo(AsyncAction.Loading) assertThat(loadingState2.isSubmitEnabled).isFalse() diff --git a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyViewTest.kt b/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyViewTest.kt index fcf050f925..5bc880a685 100644 --- a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyViewTest.kt +++ b/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyViewTest.kt @@ -58,32 +58,32 @@ class SecureBackupEnterRecoveryKeyViewTest : RobolectricTest() { @Test @Config(qualifiers = "h1024dp") fun `tapping on Continue when key is valid - calls expected action`() = runAndroidComposeUiTest { - val recorder = EventsRecorder() + val recorder = EventsRecorder() setSecureBackupEnterRecoveryKeyView( aSecureBackupEnterRecoveryKeyState(isSubmitEnabled = true, eventSink = recorder), ) clickOn(CommonStrings.action_continue) - recorder.assertSingle(SecureBackupEnterRecoveryKeyEvents.Submit) + recorder.assertSingle(SecureBackupEnterRecoveryKeyEvent.Submit) } @Test fun `entering a char emits the expected event`() = runAndroidComposeUiTest { - val recorder = EventsRecorder() + val recorder = EventsRecorder() val keyValue = aFormattedRecoveryKey() setSecureBackupEnterRecoveryKeyView( aSecureBackupEnterRecoveryKeyState(isSubmitEnabled = true, eventSink = recorder), ) onNodeWithText(keyValue).performTextInput("X") recorder.assertSingle( - SecureBackupEnterRecoveryKeyEvents.OnRecoveryKeyChange("X$keyValue") + SecureBackupEnterRecoveryKeyEvent.OnRecoveryKeyChange("X$keyValue") ) } @Test @Config(qualifiers = "h1024dp") fun `toggling the visibility of the textfield changes it`() = runAndroidComposeUiTest { - val recorder = EventsRecorder() + val recorder = EventsRecorder() val keyValue = aFormattedRecoveryKey() setSecureBackupEnterRecoveryKeyView(aSecureBackupEnterRecoveryKeyState(isSubmitEnabled = true, eventSink = recorder)) @@ -94,18 +94,18 @@ class SecureBackupEnterRecoveryKeyViewTest : RobolectricTest() { waitForIdle() - recorder.assertSingle(SecureBackupEnterRecoveryKeyEvents.ChangeRecoveryKeyFieldContentsVisibility(false)) + recorder.assertSingle(SecureBackupEnterRecoveryKeyEvent.ChangeRecoveryKeyFieldContentsVisibility(false)) } @Test fun `validating from keyboard emits the expected event`() = runAndroidComposeUiTest { - val recorder = EventsRecorder() + val recorder = EventsRecorder() val keyValue = aFormattedRecoveryKey() setSecureBackupEnterRecoveryKeyView( aSecureBackupEnterRecoveryKeyState(isSubmitEnabled = true, eventSink = recorder), ) onNodeWithText(keyValue).performImeAction() - recorder.assertSingle(SecureBackupEnterRecoveryKeyEvents.Submit) + recorder.assertSingle(SecureBackupEnterRecoveryKeyEvent.Submit) } @Test