diff --git a/features/login/src/main/java/io/element/android/x/features/login/LoginViewModel.kt b/features/login/src/main/java/io/element/android/x/features/login/LoginViewModel.kt index 5c7690cd19..c15fc4cf03 100644 --- a/features/login/src/main/java/io/element/android/x/features/login/LoginViewModel.kt +++ b/features/login/src/main/java/io/element/android/x/features/login/LoginViewModel.kt @@ -24,9 +24,7 @@ class LoginViewModel(initialState: LoginViewState) : suspend { val state = awaitState() // Ensure the server is provided to the Rust SDK - if (matrix.getHomeserver() == null) { - matrix.setHomeserver(state.homeserver) - } + matrix.setHomeserver(state.homeserver) matrix.login(state.login.trim(), state.password.trim()) matrix.activeClient().startSync() }.execute { diff --git a/features/login/src/main/java/io/element/android/x/features/login/changeserver/ChangeServerViewModel.kt b/features/login/src/main/java/io/element/android/x/features/login/changeserver/ChangeServerViewModel.kt index f92ccd442c..a2638da85b 100644 --- a/features/login/src/main/java/io/element/android/x/features/login/changeserver/ChangeServerViewModel.kt +++ b/features/login/src/main/java/io/element/android/x/features/login/changeserver/ChangeServerViewModel.kt @@ -1,6 +1,5 @@ package io.element.android.x.features.login.changeserver -import com.airbnb.mvrx.Loading import com.airbnb.mvrx.MavericksViewModel import io.element.android.x.matrix.MatrixInstance import kotlinx.coroutines.launch @@ -24,13 +23,10 @@ class ChangeServerViewModel(initialState: ChangeServerViewState) : } } - fun setServerSubmit() = withState { state -> - setState { - copy(changeServerAction = Loading()) - } - + fun setServerSubmit() { viewModelScope.launch { suspend { + val state = awaitState() matrix.setHomeserver(state.homeserver) }.execute { it -> copy(changeServerAction = it)