From 713248805c5c21c402ba9cb867f3c00f9c9dc11f Mon Sep 17 00:00:00 2001 From: ericdecanini <eddecanini@gmail.com> Date: Wed, 23 Feb 2022 13:25:16 +0100 Subject: [PATCH] adds feature flag usage to registration flow result --- .../app/features/onboarding/ftueauth/FtueAuthVariant.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthVariant.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthVariant.kt index 33d57dd95c..e550913e6c 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthVariant.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthVariant.kt @@ -123,8 +123,7 @@ class FtueAuthVariant( private fun handleOnboardingViewEvents(viewEvents: OnboardingViewEvents) { when (viewEvents) { is OnboardingViewEvents.RegistrationFlowResult -> { - // Check that all flows are supported by the application - if (viewEvents.flowResult.missingStages.any { !it.isSupported() }) { + if (registrationShouldFallback(viewEvents)) { // Display a popup to propose use web fallback onRegistrationStageNotSupported() } else { @@ -223,6 +222,12 @@ class FtueAuthVariant( }.exhaustive } + private fun registrationShouldFallback(registrationFlowResult: OnboardingViewEvents.RegistrationFlowResult) = + vectorFeatures.isForceLoginFallbackEnabled() || registrationFlowResult.containsUnsupportedRegistrationFlow() + + private fun OnboardingViewEvents.RegistrationFlowResult.containsUnsupportedRegistrationFlow() = + flowResult.missingStages.any { !it.isSupported() } + private fun updateWithState(viewState: OnboardingViewState) { if (viewState.isUserLogged()) { val intent = HomeActivity.newIntent(