only setting selected homeserver state after a successful start registration when editing
This commit is contained in:
parent
86b87e12d7
commit
197df34097
|
@ -628,24 +628,33 @@ class OnboardingViewModel @AssistedInject constructor(
|
|||
_viewEvents.post(OnboardingViewEvents.OutdatedHomeserver)
|
||||
}
|
||||
|
||||
val state = awaitState()
|
||||
|
||||
when (lastAction) {
|
||||
is OnboardingAction.HomeServerChange.EditHomeServer -> {
|
||||
when (state.onboardingFlow) {
|
||||
OnboardingFlow.SignUp -> internalRegisterAction(RegisterAction.StartRegistration) { _ ->
|
||||
setState {
|
||||
copy(
|
||||
serverType = alignServerTypeAfterSubmission(config, serverTypeOverride),
|
||||
selectedHomeserver = authResult.selectedHomeserver,
|
||||
)
|
||||
}
|
||||
val state = awaitState()
|
||||
when (lastAction) {
|
||||
is OnboardingAction.HomeServerChange.EditHomeServer -> {
|
||||
when (state.onboardingFlow) {
|
||||
OnboardingFlow.SignUp -> handleRegisterAction(RegisterAction.StartRegistration) { _ ->
|
||||
_viewEvents.post(OnboardingViewEvents.OnHomeserverEdited)
|
||||
}
|
||||
else -> throw IllegalArgumentException("developer error")
|
||||
}
|
||||
}
|
||||
is OnboardingAction.HomeServerChange.SelectHomeServer -> {
|
||||
if (state.selectedHomeserver.preferredLoginMode.supportsSignModeScreen()) {
|
||||
setState {
|
||||
copy(
|
||||
serverType = alignServerTypeAfterSubmission(config, serverTypeOverride),
|
||||
selectedHomeserver = authResult.selectedHomeserver,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
if (authResult.selectedHomeserver.preferredLoginMode.supportsSignModeScreen()) {
|
||||
when (state.onboardingFlow) {
|
||||
OnboardingFlow.SignIn -> internalRegisterAction(RegisterAction.StartRegistration, ::emitFlowResultViewEvent)
|
||||
OnboardingFlow.SignUp -> internalRegisterAction(RegisterAction.StartRegistration, ::emitFlowResultViewEvent)
|
||||
|
|
Loading…
Reference in New Issue