diff --git a/changelog.d/4584.feature b/changelog.d/4584.feature
new file mode 100644
index 0000000000..6c0de3b34f
--- /dev/null
+++ b/changelog.d/4584.feature
@@ -0,0 +1 @@
+Enables the FTUE splash carousel
\ No newline at end of file
diff --git a/library/ui-styles/src/main/res/drawable/bg_carousel_page_dark.xml b/library/ui-styles/src/main/res/drawable/bg_carousel_page_dark.xml
index f229c51d1b..2542ff2b1d 100644
--- a/library/ui-styles/src/main/res/drawable/bg_carousel_page_dark.xml
+++ b/library/ui-styles/src/main/res/drawable/bg_carousel_page_dark.xml
@@ -1,7 +1,4 @@
-
+
\ No newline at end of file
diff --git a/vector/src/androidTest/java/im/vector/app/ui/robot/OnboardingRobot.kt b/vector/src/androidTest/java/im/vector/app/ui/robot/OnboardingRobot.kt
index 62d446fe84..47bf31355c 100644
--- a/vector/src/androidTest/java/im/vector/app/ui/robot/OnboardingRobot.kt
+++ b/vector/src/androidTest/java/im/vector/app/ui/robot/OnboardingRobot.kt
@@ -63,7 +63,7 @@ class OnboardingRobot {
password: String,
homeServerUrl: String) {
waitUntilViewVisible(withId(R.id.loginSplashSubmit))
- assertDisplayed(R.id.loginSplashSubmit, R.string.login_splash_submit)
+ assertDisplayed(R.id.loginSplashSubmit, R.string.login_splash_create_account)
if (createAccount) {
clickOn(R.id.loginSplashSubmit)
} else {
diff --git a/vector/src/main/java/im/vector/app/features/VectorFeatures.kt b/vector/src/main/java/im/vector/app/features/VectorFeatures.kt
index 25c204f2ef..03e9954b2c 100644
--- a/vector/src/main/java/im/vector/app/features/VectorFeatures.kt
+++ b/vector/src/main/java/im/vector/app/features/VectorFeatures.kt
@@ -35,6 +35,6 @@ interface VectorFeatures {
class DefaultVectorFeatures : VectorFeatures {
override fun onboardingVariant(): VectorFeatures.OnboardingVariant = BuildConfig.ONBOARDING_VARIANT
override fun isOnboardingAlreadyHaveAccountSplashEnabled() = true
- override fun isOnboardingSplashCarouselEnabled() = false
+ override fun isOnboardingSplashCarouselEnabled() = true
override fun isOnboardingUseCaseEnabled() = false
}
diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashCarouselFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashCarouselFragment.kt
index 038e020cf6..49e8875cb5 100644
--- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashCarouselFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashCarouselFragment.kt
@@ -68,9 +68,13 @@ class FtueAuthSplashCarouselFragment @Inject constructor(
TabLayoutMediator(views.carouselIndicator, views.splashCarousel) { _, _ -> }.attach()
carouselController.setData(carouselStateFactory.create())
- views.loginSplashSubmit.debouncedClicks { getStarted() }
+ val isAlreadyHaveAccountEnabled = vectorFeatures.isOnboardingAlreadyHaveAccountSplashEnabled()
+ views.loginSplashSubmit.apply {
+ setText(if (isAlreadyHaveAccountEnabled) R.string.login_splash_create_account else R.string.login_splash_submit)
+ debouncedClicks { splashSubmit(isAlreadyHaveAccountEnabled) }
+ }
views.loginSplashAlreadyHaveAccount.apply {
- isVisible = vectorFeatures.isOnboardingAlreadyHaveAccountSplashEnabled()
+ isVisible = isAlreadyHaveAccountEnabled
debouncedClicks { alreadyHaveAnAccount() }
}
@@ -111,8 +115,8 @@ class FtueAuthSplashCarouselFragment @Inject constructor(
}
}
- private fun getStarted() {
- val getStartedFlow = if (vectorFeatures.isOnboardingAlreadyHaveAccountSplashEnabled()) OnboardingFlow.SignUp else OnboardingFlow.SignInSignUp
+ private fun splashSubmit(isAlreadyHaveAccountEnabled: Boolean) {
+ val getStartedFlow = if (isAlreadyHaveAccountEnabled) OnboardingFlow.SignUp else OnboardingFlow.SignInSignUp
viewModel.handle(OnboardingAction.OnGetStarted(resetLoginConfig = false, onboardingFlow = getStartedFlow))
}
diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashFragment.kt
index fd63889fd6..031579db5f 100644
--- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthSplashFragment.kt
@@ -53,7 +53,11 @@ class FtueAuthSplashFragment @Inject constructor(
}
private fun setupViews() {
- views.loginSplashSubmit.debouncedClicks { getStarted() }
+ val isAlreadyHaveAccountEnabled = vectorFeatures.isOnboardingAlreadyHaveAccountSplashEnabled()
+ views.loginSplashSubmit.apply {
+ setText(if (isAlreadyHaveAccountEnabled) R.string.login_splash_create_account else R.string.login_splash_submit)
+ debouncedClicks { splashSubmit(isAlreadyHaveAccountEnabled) }
+ }
views.loginSplashAlreadyHaveAccount.apply {
isVisible = vectorFeatures.isOnboardingAlreadyHaveAccountSplashEnabled()
debouncedClicks { alreadyHaveAnAccount() }
@@ -69,8 +73,8 @@ class FtueAuthSplashFragment @Inject constructor(
}
}
- private fun getStarted() {
- val getStartedFlow = if (vectorFeatures.isOnboardingAlreadyHaveAccountSplashEnabled()) OnboardingFlow.SignUp else OnboardingFlow.SignInSignUp
+ private fun splashSubmit(isAlreadyHaveAccountEnabled: Boolean) {
+ val getStartedFlow = if (isAlreadyHaveAccountEnabled) OnboardingFlow.SignUp else OnboardingFlow.SignInSignUp
viewModel.handle(OnboardingAction.OnGetStarted(resetLoginConfig = false, onboardingFlow = getStartedFlow))
}
diff --git a/vector/src/main/res/layout/fragment_ftue_auth_splash.xml b/vector/src/main/res/layout/fragment_ftue_auth_splash.xml
index 803ad700db..ef3d015bdb 100644
--- a/vector/src/main/res/layout/fragment_ftue_auth_splash.xml
+++ b/vector/src/main/res/layout/fragment_ftue_auth_splash.xml
@@ -182,13 +182,13 @@
style="@style/Widget.Vector.Button.Login"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:text="@string/login_splash_submit"
android:textAllCaps="true"
android:transitionName="loginSubmitTransition"
app:layout_constraintBottom_toTopOf="@id/loginSplashSpace5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/loginSplashSpace4" />
+ app:layout_constraintTop_toBottomOf="@id/loginSplashSpace4"
+ tools:text="@string/login_splash_create_account" />
+ app:layout_constraintTop_toBottomOf="@id/loginSplashButtonsSpace"
+ tools:text="@string/login_splash_create_account" />