diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt index 3c725106c8..8e6a3ef0ba 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt @@ -17,6 +17,7 @@ import io.element.android.features.login.impl.accountprovider.AccountProvider import io.element.android.features.login.impl.changeserver.ChangeServerState import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.core.uri.ensureProtocol +import kotlinx.collections.immutable.toImmutableList @Inject class ChangeAccountProviderPresenter( @@ -39,6 +40,7 @@ class ChangeAccountProviderPresenter( isValid = true, ) } + .toImmutableList() } val canSearchForAccountProviders = remember { diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderState.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderState.kt index e8e1f21cd8..f6f62eca01 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderState.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderState.kt @@ -9,10 +9,11 @@ package io.element.android.features.login.impl.screens.changeaccountprovider import io.element.android.features.login.impl.accountprovider.AccountProvider import io.element.android.features.login.impl.changeserver.ChangeServerState +import kotlinx.collections.immutable.ImmutableList // Do not use default value, so no member get forgotten in the presenters. data class ChangeAccountProviderState( - val accountProviders: List, + val accountProviders: ImmutableList, val canSearchForAccountProviders: Boolean, val changeServerState: ChangeServerState, ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderStateProvider.kt index 435eee7f89..cfc7be0973 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderStateProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderStateProvider.kt @@ -12,6 +12,7 @@ import io.element.android.features.login.impl.accountprovider.AccountProvider import io.element.android.features.login.impl.accountprovider.anAccountProvider import io.element.android.features.login.impl.changeserver.ChangeServerState import io.element.android.features.login.impl.changeserver.aChangeServerState +import kotlinx.collections.immutable.toImmutableList open class ChangeAccountProviderStateProvider : PreviewParameterProvider { override val values: Sequence @@ -29,7 +30,7 @@ fun aChangeAccountProviderState( canSearchForAccountProviders: Boolean = true, changeServerState: ChangeServerState = aChangeServerState(), ) = ChangeAccountProviderState( - accountProviders = accountProviders, + accountProviders = accountProviders.toImmutableList(), canSearchForAccountProviders = canSearchForAccountProviders, changeServerState = changeServerState, )