Skip to content

Commit c3c193d

Browse files
committed
taking the personalization feature flag into account when calculating if personalization is supported
- also removes a legacy loading workaround for the account creation step, we're navigating to a new screen AccountCreated so we have to stop the loading
1 parent a8e38dc commit c3c193d

File tree

3 files changed

+16
-20
lines changed

3 files changed

+16
-20
lines changed

vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -767,12 +767,7 @@ class OnboardingViewModel @AssistedInject constructor(
767767

768768
when (isAccountCreated) {
769769
true -> {
770-
val homeServerCapabilities = session.getHomeServerCapabilities()
771-
val capabilityOverrides = vectorOverrides.forceHomeserverCapabilities()?.firstOrNull()
772-
val personalizationState = state.personalizationState.copy(
773-
supportsChangingDisplayName = capabilityOverrides?.canChangeDisplayName ?: homeServerCapabilities.canChangeDisplayName,
774-
supportsChangingProfilePicture = capabilityOverrides?.canChangeAvatar ?: homeServerCapabilities.canChangeAvatar
775-
)
770+
val personalizationState = createPersonalizationState(session, state)
776771
setState {
777772
copy(asyncLoginAction = Success(Unit), personalizationState = personalizationState)
778773
}
@@ -785,6 +780,20 @@ class OnboardingViewModel @AssistedInject constructor(
785780
}
786781
}
787782

783+
private suspend fun createPersonalizationState(session: Session, state: OnboardingViewState): PersonalizationState {
784+
return when {
785+
vectorFeatures.isOnboardingPersonalizeEnabled() -> {
786+
val homeServerCapabilities = session.getHomeServerCapabilities()
787+
val capabilityOverrides = vectorOverrides.forceHomeserverCapabilities()?.firstOrNull()
788+
state.personalizationState.copy(
789+
supportsChangingDisplayName = capabilityOverrides?.canChangeDisplayName ?: homeServerCapabilities.canChangeDisplayName,
790+
supportsChangingProfilePicture = capabilityOverrides?.canChangeAvatar ?: homeServerCapabilities.canChangeAvatar
791+
)
792+
}
793+
else -> state.personalizationState
794+
}
795+
}
796+
788797
private fun handleWebLoginSuccess(action: OnboardingAction.WebLoginSuccess) = withState { state ->
789798
val homeServerConnectionConfigFinal = homeServerConnectionConfigFactory.create(state.homeServerUrl)
790799

vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewState.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import com.airbnb.mvrx.Async
2222
import com.airbnb.mvrx.Loading
2323
import com.airbnb.mvrx.MavericksState
2424
import com.airbnb.mvrx.PersistState
25-
import com.airbnb.mvrx.Success
2625
import com.airbnb.mvrx.Uninitialized
2726
import im.vector.app.features.login.LoginMode
2827
import im.vector.app.features.login.ServerType
@@ -83,10 +82,6 @@ data class OnboardingViewState(
8382
asyncDisplayName is Loading ||
8483
asyncProfilePicture is Loading
8584
}
86-
87-
fun isAuthTaskCompleted(): Boolean {
88-
return asyncLoginAction is Success
89-
}
9085
}
9186

9287
enum class OnboardingFlow {

vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthVariant.kt

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -122,17 +122,9 @@ class FtueAuthVariant(
122122

123123
private fun updateWithState(viewState: OnboardingViewState) {
124124
isForceLoginFallbackEnabled = viewState.isForceLoginFallbackEnabled
125-
views.loginLoading.isVisible = shouldShowLoading(viewState)
125+
views.loginLoading.isVisible = viewState.isLoading()
126126
}
127127

128-
private fun shouldShowLoading(viewState: OnboardingViewState) =
129-
if (vectorFeatures.isOnboardingPersonalizeEnabled()) {
130-
viewState.isLoading()
131-
} else {
132-
// Keep loading when during success because of the delay when switching to the next Activity
133-
viewState.isLoading() || viewState.isAuthTaskCompleted()
134-
}
135-
136128
override fun setIsLoading(isLoading: Boolean) = Unit
137129

138130
private fun handleOnboardingViewEvents(viewEvents: OnboardingViewEvents) {

0 commit comments

Comments
 (0)