diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderEvents.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderEvent.kt similarity index 69% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderEvents.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderEvent.kt index f60cc3e9da..bb50f123cb 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderEvents.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderEvent.kt @@ -10,8 +10,8 @@ package io.element.android.features.login.impl.screens.chooseaccountprovider import io.element.android.features.login.impl.accountprovider.AccountProvider -sealed interface ChooseAccountProviderEvents { - data class SelectAccountProvider(val accountProvider: AccountProvider) : ChooseAccountProviderEvents - data object Continue : ChooseAccountProviderEvents - data object ClearError : ChooseAccountProviderEvents +sealed interface ChooseAccountProviderEvent { + data class SelectAccountProvider(val accountProvider: AccountProvider) : ChooseAccountProviderEvent + data object Continue : ChooseAccountProviderEvent + data object ClearError : ChooseAccountProviderEvent } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderPresenter.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderPresenter.kt index 92c3ff0fff..e2863a295a 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderPresenter.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderPresenter.kt @@ -34,9 +34,9 @@ class ChooseAccountProviderPresenter( val loginModeState = loginModePresenter.present() var selectedAccountProvider: AccountProvider? by remember { mutableStateOf(null) } - fun handleEvent(event: ChooseAccountProviderEvents) { + fun handleEvent(event: ChooseAccountProviderEvent) { when (event) { - ChooseAccountProviderEvents.Continue -> { + ChooseAccountProviderEvent.Continue -> { selectedAccountProvider?.let { provider -> loginModeState.eventSink( LoginModeEvent.Submit( @@ -48,13 +48,13 @@ class ChooseAccountProviderPresenter( ) } } - is ChooseAccountProviderEvents.SelectAccountProvider -> { + is ChooseAccountProviderEvent.SelectAccountProvider -> { // Ensure that the user does not change the server during processing. if (loginModeState.loginMode is AsyncData.Uninitialized) { selectedAccountProvider = event.accountProvider } } - ChooseAccountProviderEvents.ClearError -> loginModeState.eventSink(LoginModeEvent.ClearError) + ChooseAccountProviderEvent.ClearError -> loginModeState.eventSink(LoginModeEvent.ClearError) } } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderState.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderState.kt index a31e5c464f..398e32d687 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderState.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderState.kt @@ -17,7 +17,7 @@ data class ChooseAccountProviderState( val accountProviders: ImmutableList, val selectedAccountProvider: AccountProvider?, val loginModeState: LoginModeState, - val eventSink: (ChooseAccountProviderEvents) -> Unit, + val eventSink: (ChooseAccountProviderEvent) -> Unit, ) { val submitEnabled: Boolean get() = selectedAccountProvider != null && diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderStatePreviewParam.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderStatePreviewParam.kt index 207f434b42..ceb1cfd6ea 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderStatePreviewParam.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderStatePreviewParam.kt @@ -71,7 +71,7 @@ fun aChooseAccountProviderState( ), selectedAccountProvider: AccountProvider? = null, loginModeState: LoginModeState = aLoginModeState(), - eventSink: (ChooseAccountProviderEvents) -> Unit = {}, + eventSink: (ChooseAccountProviderEvent) -> Unit = {}, ) = ChooseAccountProviderState( accountProviders = accountProviders.toImmutableList(), selectedAccountProvider = selectedAccountProvider, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderView.kt index fdc69ca295..552165a7b2 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderView.kt @@ -108,7 +108,7 @@ fun ChooseAccountProviderView( item = alteredItem, selected = item == state.selectedAccountProvider, onClick = { - state.eventSink(ChooseAccountProviderEvents.SelectAccountProvider(item)) + state.eventSink(ChooseAccountProviderEvent.SelectAccountProvider(item)) } ) } @@ -119,7 +119,7 @@ fun ChooseAccountProviderView( text = stringResource(id = CommonStrings.action_continue), showProgress = isLoading, onClick = { - state.eventSink(ChooseAccountProviderEvents.Continue) + state.eventSink(ChooseAccountProviderEvent.Continue) }, enabled = state.submitEnabled || isLoading, modifier = Modifier @@ -131,7 +131,7 @@ fun ChooseAccountProviderView( LoginModeView( loginMode = state.loginModeState.loginMode, onClearError = { - state.eventSink(ChooseAccountProviderEvents.ClearError) + state.eventSink(ChooseAccountProviderEvent.ClearError) }, onLearnMoreClick = onLearnMoreClick, onOAuthDetails = onOAuthDetails, diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderPresenterTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderPresenterTest.kt index 4f00bb002b..78f4293489 100644 --- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderPresenterTest.kt +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderPresenterTest.kt @@ -88,7 +88,7 @@ class ChooseAccountProviderPresenterTest { presenter.test { awaitItem().also { assertThat(it.selectedAccountProvider).isNull() - it.eventSink(ChooseAccountProviderEvents.Continue) + it.eventSink(ChooseAccountProviderEvent.Continue) expectNoEvents() } } @@ -112,11 +112,11 @@ class ChooseAccountProviderPresenterTest { presenter.test { awaitItem().also { assertThat(it.selectedAccountProvider).isNull() - it.eventSink(ChooseAccountProviderEvents.SelectAccountProvider(accountProvider1)) + it.eventSink(ChooseAccountProviderEvent.SelectAccountProvider(accountProvider1)) } awaitItem().also { assertThat(it.selectedAccountProvider).isEqualTo(accountProvider1) - it.eventSink(ChooseAccountProviderEvents.Continue) + it.eventSink(ChooseAccountProviderEvent.Continue) skipItems(1) // Loading // Check an error was returned @@ -124,7 +124,7 @@ class ChooseAccountProviderPresenterTest { assertThat(submittedState.loginModeState.loginMode).isInstanceOf(AsyncData.Failure::class.java) // Assert the error is then cleared - submittedState.eventSink(ChooseAccountProviderEvents.ClearError) + submittedState.eventSink(ChooseAccountProviderEvent.ClearError) val clearedState = awaitItem() assertThat(clearedState.loginModeState.loginMode).isEqualTo(AsyncData.Uninitialized) } @@ -145,15 +145,15 @@ class ChooseAccountProviderPresenterTest { presenter.test { awaitItem().also { assertThat(it.selectedAccountProvider).isNull() - it.eventSink(ChooseAccountProviderEvents.SelectAccountProvider(accountProvider1)) + it.eventSink(ChooseAccountProviderEvent.SelectAccountProvider(accountProvider1)) } awaitItem().also { assertThat(it.selectedAccountProvider).isEqualTo(accountProvider1) - it.eventSink(ChooseAccountProviderEvents.Continue) + it.eventSink(ChooseAccountProviderEvent.Continue) } awaitItem().also { assertThat(it.loginModeState.loginMode.isLoading()).isTrue() - it.eventSink(ChooseAccountProviderEvents.SelectAccountProvider(accountProvider2)) + it.eventSink(ChooseAccountProviderEvent.SelectAccountProvider(accountProvider2)) } expectNoEvents() } diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderViewTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderViewTest.kt index cd64638563..4ef7a71966 100644 --- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderViewTest.kt +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderViewTest.kt @@ -35,7 +35,7 @@ import org.robolectric.annotation.Config class ChooseAccountProviderViewTest : RobolectricTest() { @Test fun `clicking on back invokes the expected callback`() = runAndroidComposeUiTest { - val eventSink = EventsRecorder(expectEvents = false) + val eventSink = EventsRecorder(expectEvents = false) ensureCalledOnce { setChooseAccountProviderView( state = aChooseAccountProviderState( @@ -50,7 +50,7 @@ class ChooseAccountProviderViewTest : RobolectricTest() { @Config(qualifiers = "h1024dp") @Test fun `selecting an account provider emits the the expected event`() = runAndroidComposeUiTest { - val eventSink = EventsRecorder() + val eventSink = EventsRecorder() setChooseAccountProviderView( state = aChooseAccountProviderState( accountProviders = listOf( @@ -62,12 +62,12 @@ class ChooseAccountProviderViewTest : RobolectricTest() { ), ) onNodeWithText(ChooseAccountProviderPresenterTest.accountProvider1.title).performClick() - eventSink.assertSingle(ChooseAccountProviderEvents.SelectAccountProvider(ChooseAccountProviderPresenterTest.accountProvider1)) + eventSink.assertSingle(ChooseAccountProviderEvent.SelectAccountProvider(ChooseAccountProviderPresenterTest.accountProvider1)) } @Test fun `when error is displayed - closing the dialog emits the expected event`() = runAndroidComposeUiTest { - val eventSink = EventsRecorder() + val eventSink = EventsRecorder() setChooseAccountProviderView( state = aChooseAccountProviderState( loginModeState = aLoginModeState(loginMode = AsyncData.Failure(AN_EXCEPTION)), @@ -75,7 +75,7 @@ class ChooseAccountProviderViewTest : RobolectricTest() { ), ) clickOn(CommonStrings.action_ok) - eventSink.assertSingle(ChooseAccountProviderEvents.ClearError) + eventSink.assertSingle(ChooseAccountProviderEvent.ClearError) } private fun AndroidComposeUiTest.setChooseAccountProviderView(