Make ChangeAccountProviderState stable
This commit is contained in:
parent
49fd981157
commit
8987949704
3 changed files with 6 additions and 2 deletions
|
|
@ -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.features.login.impl.changeserver.ChangeServerState
|
||||||
import io.element.android.libraries.architecture.Presenter
|
import io.element.android.libraries.architecture.Presenter
|
||||||
import io.element.android.libraries.core.uri.ensureProtocol
|
import io.element.android.libraries.core.uri.ensureProtocol
|
||||||
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
class ChangeAccountProviderPresenter(
|
class ChangeAccountProviderPresenter(
|
||||||
|
|
@ -39,6 +40,7 @@ class ChangeAccountProviderPresenter(
|
||||||
isValid = true,
|
isValid = true,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
.toImmutableList()
|
||||||
}
|
}
|
||||||
|
|
||||||
val canSearchForAccountProviders = remember {
|
val canSearchForAccountProviders = remember {
|
||||||
|
|
|
||||||
|
|
@ -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.accountprovider.AccountProvider
|
||||||
import io.element.android.features.login.impl.changeserver.ChangeServerState
|
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.
|
// Do not use default value, so no member get forgotten in the presenters.
|
||||||
data class ChangeAccountProviderState(
|
data class ChangeAccountProviderState(
|
||||||
val accountProviders: List<AccountProvider>,
|
val accountProviders: ImmutableList<AccountProvider>,
|
||||||
val canSearchForAccountProviders: Boolean,
|
val canSearchForAccountProviders: Boolean,
|
||||||
val changeServerState: ChangeServerState,
|
val changeServerState: ChangeServerState,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -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.accountprovider.anAccountProvider
|
||||||
import io.element.android.features.login.impl.changeserver.ChangeServerState
|
import io.element.android.features.login.impl.changeserver.ChangeServerState
|
||||||
import io.element.android.features.login.impl.changeserver.aChangeServerState
|
import io.element.android.features.login.impl.changeserver.aChangeServerState
|
||||||
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
||||||
open class ChangeAccountProviderStateProvider : PreviewParameterProvider<ChangeAccountProviderState> {
|
open class ChangeAccountProviderStateProvider : PreviewParameterProvider<ChangeAccountProviderState> {
|
||||||
override val values: Sequence<ChangeAccountProviderState>
|
override val values: Sequence<ChangeAccountProviderState>
|
||||||
|
|
@ -29,7 +30,7 @@ fun aChangeAccountProviderState(
|
||||||
canSearchForAccountProviders: Boolean = true,
|
canSearchForAccountProviders: Boolean = true,
|
||||||
changeServerState: ChangeServerState = aChangeServerState(),
|
changeServerState: ChangeServerState = aChangeServerState(),
|
||||||
) = ChangeAccountProviderState(
|
) = ChangeAccountProviderState(
|
||||||
accountProviders = accountProviders,
|
accountProviders = accountProviders.toImmutableList(),
|
||||||
canSearchForAccountProviders = canSearchForAccountProviders,
|
canSearchForAccountProviders = canSearchForAccountProviders,
|
||||||
changeServerState = changeServerState,
|
changeServerState = changeServerState,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue