mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 20:38:40 +00:00
Make ChooseAccountProviderState stable
This commit is contained in:
committed by
Benoit Marty
parent
fc6da4b421
commit
c2b2e00107
+2
@@ -21,6 +21,7 @@ import io.element.android.features.login.impl.login.LoginHelper
|
|||||||
import io.element.android.libraries.architecture.AsyncData
|
import io.element.android.libraries.architecture.AsyncData
|
||||||
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 ChooseAccountProviderPresenter(
|
class ChooseAccountProviderPresenter(
|
||||||
@@ -69,6 +70,7 @@ class ChooseAccountProviderPresenter(
|
|||||||
isValid = true,
|
isValid = true,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
.toImmutableList()
|
||||||
}
|
}
|
||||||
|
|
||||||
return ChooseAccountProviderState(
|
return ChooseAccountProviderState(
|
||||||
|
|||||||
+2
-1
@@ -10,10 +10,11 @@ package io.element.android.features.login.impl.screens.chooseaccountprovider
|
|||||||
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.login.LoginMode
|
import io.element.android.features.login.impl.login.LoginMode
|
||||||
import io.element.android.libraries.architecture.AsyncData
|
import io.element.android.libraries.architecture.AsyncData
|
||||||
|
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 ChooseAccountProviderState(
|
data class ChooseAccountProviderState(
|
||||||
val accountProviders: List<AccountProvider>,
|
val accountProviders: ImmutableList<AccountProvider>,
|
||||||
val selectedAccountProvider: AccountProvider?,
|
val selectedAccountProvider: AccountProvider?,
|
||||||
val loginMode: AsyncData<LoginMode>,
|
val loginMode: AsyncData<LoginMode>,
|
||||||
val eventSink: (ChooseAccountProviderEvents) -> Unit,
|
val eventSink: (ChooseAccountProviderEvents) -> Unit,
|
||||||
|
|||||||
+2
-1
@@ -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.login.LoginMode
|
import io.element.android.features.login.impl.login.LoginMode
|
||||||
import io.element.android.libraries.architecture.AsyncData
|
import io.element.android.libraries.architecture.AsyncData
|
||||||
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
||||||
open class ChooseAccountProviderStateProvider : PreviewParameterProvider<ChooseAccountProviderState> {
|
open class ChooseAccountProviderStateProvider : PreviewParameterProvider<ChooseAccountProviderState> {
|
||||||
private val server1 = anAccountProvider(
|
private val server1 = anAccountProvider(
|
||||||
@@ -70,7 +71,7 @@ fun aChooseAccountProviderState(
|
|||||||
loginMode: AsyncData<LoginMode> = AsyncData.Uninitialized,
|
loginMode: AsyncData<LoginMode> = AsyncData.Uninitialized,
|
||||||
eventSink: (ChooseAccountProviderEvents) -> Unit = {},
|
eventSink: (ChooseAccountProviderEvents) -> Unit = {},
|
||||||
) = ChooseAccountProviderState(
|
) = ChooseAccountProviderState(
|
||||||
accountProviders = accountProviders,
|
accountProviders = accountProviders.toImmutableList(),
|
||||||
selectedAccountProvider = selectedAccountProvider,
|
selectedAccountProvider = selectedAccountProvider,
|
||||||
loginMode = loginMode,
|
loginMode = loginMode,
|
||||||
eventSink = eventSink,
|
eventSink = eventSink,
|
||||||
|
|||||||
Reference in New Issue
Block a user