diff --git a/library/ui-styles/src/main/res/values/dimens.xml b/library/ui-styles/src/main/res/values/dimens.xml
index 9fbf8958da..b63a54aeeb 100644
--- a/library/ui-styles/src/main/res/values/dimens.xml
+++ b/library/ui-styles/src/main/res/values/dimens.xml
@@ -47,4 +47,7 @@
56dp
52dp
1dp
+
+
+ 16dp
\ No newline at end of file
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 ace7e9dee3..f9c8e51f9c 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
@@ -16,7 +16,6 @@
package im.vector.app.features.onboarding.ftueauth
-import android.annotation.SuppressLint
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
@@ -36,6 +35,7 @@ import im.vector.app.BuildConfig
import im.vector.app.R
import im.vector.app.core.epoxy.VectorEpoxyHolder
import im.vector.app.core.epoxy.VectorEpoxyModel
+import im.vector.app.core.resources.StringProvider
import im.vector.app.databinding.FragmentFtueSplashCarouselBinding
import im.vector.app.features.VectorFeatures
import im.vector.app.features.onboarding.OnboardingAction
@@ -51,6 +51,7 @@ class FtueAuthSplashCarouselFragment : AbstractFtueAuthFragment }.attach()
-
carouselController.setData(SplashCarouselState(
items = listOf(
SplashCarouselState.Item(
- "hello world",
- R.drawable.element_logo_green
+ stringProvider.getString(R.string.ftue_auth_carousel_1_title),
+ stringProvider.getString(R.string.ftue_auth_carousel_1_body),
+ R.drawable.onboarding_carousel_conversations
),
SplashCarouselState.Item(
- "2",
- R.drawable.element_logo_green
+ stringProvider.getString(R.string.ftue_auth_carousel_2_title),
+ stringProvider.getString(R.string.ftue_auth_carousel_2_body),
+ R.drawable.onboarding_carousel_ems
),
SplashCarouselState.Item(
- "3",
- R.drawable.element_logo_green
+ stringProvider.getString(R.string.ftue_auth_carousel_3_title),
+ stringProvider.getString(R.string.ftue_auth_carousel_3_body),
+ R.drawable.onboarding_carousel_connect
),
SplashCarouselState.Item(
- "4",
- R.drawable.element_logo_green
+ stringProvider.getString(R.string.ftue_auth_carousel_4_title),
+ stringProvider.getString(R.string.ftue_auth_carousel_4_body),
+ R.drawable.onboarding_carousel_universal
)
- ),
- currentPage = 0
+ )
))
views.loginSplashSubmit.debouncedClicks { getStarted() }
@@ -94,12 +97,12 @@ class FtueAuthSplashCarouselFragment : AbstractFtueAuthFragment,
- val currentPage: Int
+ val items: List-
) {
- data class Item(val body: String, @DrawableRes val image: Int)
+ data class Item(
+ val title: String,
+ val body: String,
+ @DrawableRes val image: Int
+ )
}
class SplashCarouselController @Inject constructor() : TypedEpoxyController() {
@@ -162,11 +168,13 @@ abstract class SplashCarouselItem : VectorEpoxyModel(
override fun bind(holder: Holder) {
holder.image.setImageResource(item.image)
+ holder.title.text = item.title
holder.body.text = item.body
}
class Holder : VectorEpoxyHolder() {
val image by bind(im.vector.app.R.id.carousel_item_image)
+ val title by bind(im.vector.app.R.id.carousel_item_title)
val body by bind(im.vector.app.R.id.carousel_item_body)
}
}
diff --git a/vector/src/main/res/drawable-hdpi/onboarding_carousel_connect.png b/vector/src/main/res/drawable-hdpi/onboarding_carousel_connect.png
new file mode 100644
index 0000000000..d80beb3f5c
Binary files /dev/null and b/vector/src/main/res/drawable-hdpi/onboarding_carousel_connect.png differ
diff --git a/vector/src/main/res/drawable-hdpi/onboarding_carousel_conversations.png b/vector/src/main/res/drawable-hdpi/onboarding_carousel_conversations.png
new file mode 100644
index 0000000000..0d6ea653ab
Binary files /dev/null and b/vector/src/main/res/drawable-hdpi/onboarding_carousel_conversations.png differ
diff --git a/vector/src/main/res/drawable-hdpi/onboarding_carousel_ems.png b/vector/src/main/res/drawable-hdpi/onboarding_carousel_ems.png
new file mode 100644
index 0000000000..62162b098f
Binary files /dev/null and b/vector/src/main/res/drawable-hdpi/onboarding_carousel_ems.png differ
diff --git a/vector/src/main/res/drawable-hdpi/onboarding_carousel_universal.png b/vector/src/main/res/drawable-hdpi/onboarding_carousel_universal.png
new file mode 100644
index 0000000000..0aea38236c
Binary files /dev/null and b/vector/src/main/res/drawable-hdpi/onboarding_carousel_universal.png differ
diff --git a/vector/src/main/res/drawable-xhdpi/onboarding_carousel_connect.png b/vector/src/main/res/drawable-xhdpi/onboarding_carousel_connect.png
new file mode 100644
index 0000000000..a5dc573729
Binary files /dev/null and b/vector/src/main/res/drawable-xhdpi/onboarding_carousel_connect.png differ
diff --git a/vector/src/main/res/drawable-xhdpi/onboarding_carousel_conversations.png b/vector/src/main/res/drawable-xhdpi/onboarding_carousel_conversations.png
new file mode 100644
index 0000000000..3aa34451db
Binary files /dev/null and b/vector/src/main/res/drawable-xhdpi/onboarding_carousel_conversations.png differ
diff --git a/vector/src/main/res/drawable-xhdpi/onboarding_carousel_ems.png b/vector/src/main/res/drawable-xhdpi/onboarding_carousel_ems.png
new file mode 100644
index 0000000000..0e5db3a4df
Binary files /dev/null and b/vector/src/main/res/drawable-xhdpi/onboarding_carousel_ems.png differ
diff --git a/vector/src/main/res/drawable-xhdpi/onboarding_carousel_universal.png b/vector/src/main/res/drawable-xhdpi/onboarding_carousel_universal.png
new file mode 100644
index 0000000000..a001e8ddd3
Binary files /dev/null and b/vector/src/main/res/drawable-xhdpi/onboarding_carousel_universal.png differ
diff --git a/vector/src/main/res/layout/fragment_ftue_splash_carousel.xml b/vector/src/main/res/layout/fragment_ftue_splash_carousel.xml
index 443265ee67..0b523f8e33 100644
--- a/vector/src/main/res/layout/fragment_ftue_splash_carousel.xml
+++ b/vector/src/main/res/layout/fragment_ftue_splash_carousel.xml
@@ -13,16 +13,18 @@
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/loginSplashSubmit"
- app:layout_constraintHeight_percent="0.5"
- app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintHeight_percent="0.65"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0" />
+ app:layout_constraintGuide_begin="@dimen/ftue_auth_gutter" />
+ app:layout_constraintGuide_end="@dimen/ftue_auth_gutter" />
+
+
+ app:layout_constraintTop_toBottomOf="@id/loginSplashButtonsSpace" />
+
+
+ android:orientation="vertical"
+ android:paddingStart="@dimen/ftue_auth_gutter"
+ android:paddingEnd="@dimen/ftue_auth_gutter">
-
+
+
+ android:layout_gravity="center">
+
+
+
+
+
+
+
+
diff --git a/vector/src/main/res/values/strings.xml b/vector/src/main/res/values/strings.xml
index 7ad3aeac08..1816e0d1fa 100644
--- a/vector/src/main/res/values/strings.xml
+++ b/vector/src/main/res/values/strings.xml
@@ -2516,6 +2516,16 @@
You made this invite only.
Unread messages
+
+ Own your conversions.
+ End-to-end encrypted messaging for secure and independent communication, connected via Matrix.
+ You\'re in control.
+ Element lets you choose where you messages are stored, keeping you in control of your data.
+ Connect with anyone.
+ Element works with all Matrix-based apps and can even bridge into proprietary messengers.
+ Cut the slack from teams.
+ As universal as email, Element is a completely new type of collaboration.
+
It\'s your conversation. Own it.
Chat with people directly or in groups
Keep conversations private with encryption