diff --git a/changelog.d/4880.wip b/changelog.d/4880.wip
new file mode 100644
index 0000000000..e74c56cdc4
--- /dev/null
+++ b/changelog.d/4880.wip
@@ -0,0 +1 @@
+Updates the onboarding carousel images, copy and improves the handling of different device sizes
\ 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
new file mode 100644
index 0000000000..f229c51d1b
--- /dev/null
+++ b/library/ui-styles/src/main/res/drawable/bg_carousel_page_dark.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/library/ui-styles/src/main/res/values-h720dp/dimens.xml b/library/ui-styles/src/main/res/values-h720dp/dimens.xml
new file mode 100644
index 0000000000..1a7791720d
--- /dev/null
+++ b/library/ui-styles/src/main/res/values-h720dp/dimens.xml
@@ -0,0 +1,5 @@
+
+
+ - 0.05
+ - 0.40
+
\ No newline at end of file
diff --git a/library/ui-styles/src/main/res/values/dimens.xml b/library/ui-styles/src/main/res/values/dimens.xml
index a2a6b34b0f..d184cd06df 100644
--- a/library/ui-styles/src/main/res/values/dimens.xml
+++ b/library/ui-styles/src/main/res/values/dimens.xml
@@ -51,4 +51,7 @@
- 0.05
- 0.95
+
+ - 0.01
+ - 0.35
\ No newline at end of file
diff --git a/vector/src/main/java/im/vector/app/core/resources/LocaleProvider.kt b/vector/src/main/java/im/vector/app/core/resources/LocaleProvider.kt
index 4ddf24414f..6a9d434aea 100644
--- a/vector/src/main/java/im/vector/app/core/resources/LocaleProvider.kt
+++ b/vector/src/main/java/im/vector/app/core/resources/LocaleProvider.kt
@@ -27,3 +27,5 @@ class LocaleProvider @Inject constructor(private val resources: Resources) {
return ConfigurationCompat.getLocales(resources.configuration)[0]
}
}
+
+fun LocaleProvider.isEnglishSpeaking() = current().language.startsWith("en")
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 053c54946e..038e020cf6 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
@@ -49,7 +49,8 @@ private const val CAROUSEL_TRANSITION_TIME_MS = 500L
class FtueAuthSplashCarouselFragment @Inject constructor(
private val vectorPreferences: VectorPreferences,
private val vectorFeatures: VectorFeatures,
- private val carouselController: SplashCarouselController
+ private val carouselController: SplashCarouselController,
+ private val carouselStateFactory: SplashCarouselStateFactory
) : AbstractFtueAuthFragment() {
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueSplashCarouselBinding {
@@ -65,7 +66,7 @@ class FtueAuthSplashCarouselFragment @Inject constructor(
val carouselAdapter = carouselController.adapter
views.splashCarousel.adapter = carouselAdapter
TabLayoutMediator(views.carouselIndicator, views.splashCarousel) { _, _ -> }.attach()
- carouselController.setData(SplashCarouselState())
+ carouselController.setData(carouselStateFactory.create())
views.loginSplashSubmit.debouncedClicks { getStarted() }
views.loginSplashAlreadyHaveAccount.apply {
diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/SplashCarouselItem.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/SplashCarouselItem.kt
index 1230d8109a..dc56820424 100644
--- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/SplashCarouselItem.kt
+++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/SplashCarouselItem.kt
@@ -35,7 +35,7 @@ abstract class SplashCarouselItem : VectorEpoxyModel(
holder.view.setBackgroundResource(item.pageBackground)
holder.image.setImageResource(item.image)
- holder.title.setText(item.title)
+ holder.title.text = item.title.charSequence
holder.body.setText(item.body)
}
diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/SplashCarouselState.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/SplashCarouselState.kt
index c86e78d139..5328722a99 100644
--- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/SplashCarouselState.kt
+++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/SplashCarouselState.kt
@@ -18,38 +18,13 @@ package im.vector.app.features.onboarding.ftueauth
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
-import im.vector.app.R
+import im.vector.app.core.epoxy.charsequence.EpoxyCharSequence
data class SplashCarouselState(
- val items: List- = listOf(
- Item(
- R.string.ftue_auth_carousel_1_title,
- R.string.ftue_auth_carousel_1_body,
- R.drawable.onboarding_carousel_conversations,
- R.drawable.bg_carousel_page_1
- ),
- Item(
- R.string.ftue_auth_carousel_2_title,
- R.string.ftue_auth_carousel_2_body,
- R.drawable.onboarding_carousel_ems,
- R.drawable.bg_carousel_page_2
- ),
- Item(
- R.string.ftue_auth_carousel_3_title,
- R.string.ftue_auth_carousel_3_body,
- R.drawable.onboarding_carousel_connect,
- R.drawable.bg_carousel_page_3
- ),
- Item(
- R.string.ftue_auth_carousel_4_title,
- R.string.ftue_auth_carousel_4_body,
- R.drawable.onboarding_carousel_universal,
- R.drawable.bg_carousel_page_4
- )
- )
+ val items: List
-
) {
data class Item(
- @StringRes val title: Int,
+ val title: EpoxyCharSequence,
@StringRes val body: Int,
@DrawableRes val image: Int,
@DrawableRes val pageBackground: Int
diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/SplashCarouselStateFactory.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/SplashCarouselStateFactory.kt
new file mode 100644
index 0000000000..4ea462f737
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/SplashCarouselStateFactory.kt
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2022 New Vector Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package im.vector.app.features.onboarding.ftueauth
+
+import android.content.Context
+import androidx.annotation.AttrRes
+import androidx.annotation.DrawableRes
+import im.vector.app.R
+import im.vector.app.core.epoxy.charsequence.EpoxyCharSequence
+import im.vector.app.core.epoxy.charsequence.toEpoxyCharSequence
+import im.vector.app.core.resources.LocaleProvider
+import im.vector.app.core.resources.StringProvider
+import im.vector.app.core.resources.isEnglishSpeaking
+import im.vector.app.features.themes.ThemeProvider
+import im.vector.app.features.themes.ThemeUtils
+import me.gujun.android.span.span
+import javax.inject.Inject
+
+class SplashCarouselStateFactory @Inject constructor(
+ private val context: Context,
+ private val stringProvider: StringProvider,
+ private val localeProvider: LocaleProvider,
+ private val themeProvider: ThemeProvider,
+) {
+
+ fun create(): SplashCarouselState {
+ val lightTheme = themeProvider.isLightTheme()
+ fun background(@DrawableRes lightDrawable: Int) = if (lightTheme) lightDrawable else R.drawable.bg_carousel_page_dark
+ fun hero(@DrawableRes lightDrawable: Int, @DrawableRes darkDrawable: Int) = if (lightTheme) lightDrawable else darkDrawable
+ return SplashCarouselState(listOf(
+ SplashCarouselState.Item(
+ R.string.ftue_auth_carousel_1_title.colorTerminatingFullStop(R.attr.colorAccent),
+ R.string.ftue_auth_carousel_body_secure,
+ hero(R.drawable.ic_splash_conversations, R.drawable.ic_splash_conversations_dark),
+ background(R.drawable.bg_carousel_page_1)
+ ),
+ SplashCarouselState.Item(
+ R.string.ftue_auth_carousel_2_title.colorTerminatingFullStop(R.attr.colorAccent),
+ R.string.ftue_auth_carousel_body_control,
+ hero(R.drawable.ic_splash_control, R.drawable.ic_splash_control_dark),
+ background(R.drawable.bg_carousel_page_2)
+ ),
+ SplashCarouselState.Item(
+ R.string.ftue_auth_carousel_3_title.colorTerminatingFullStop(R.attr.colorAccent),
+ R.string.ftue_auth_carousel_body_encrypted,
+ hero(R.drawable.ic_splash_secure, R.drawable.ic_splash_secure_dark),
+ background(R.drawable.bg_carousel_page_3)
+ ),
+ SplashCarouselState.Item(
+ collaborationTitle().colorTerminatingFullStop(R.attr.colorAccent),
+ R.string.ftue_auth_carousel_body_workplace,
+ hero(R.drawable.ic_splash_collaboration, R.drawable.ic_splash_collaboration_dark),
+ background(R.drawable.bg_carousel_page_4)
+ )
+ ))
+ }
+
+ private fun collaborationTitle(): Int {
+ return when {
+ localeProvider.isEnglishSpeaking() -> R.string.cut_the_slack_from_teams
+ else -> R.string.ftue_auth_carousel_title_messaging
+ }
+ }
+
+ private fun Int.colorTerminatingFullStop(@AttrRes color: Int): EpoxyCharSequence {
+ val string = stringProvider.getString(this)
+ val fullStop = "."
+ val charSequence = if (string.endsWith(fullStop)) {
+ span {
+ +string.removeSuffix(fullStop)
+ span(fullStop) {
+ textColor = ThemeUtils.getColor(context, color)
+ }
+ }
+ } else {
+ string
+ }
+ return charSequence.toEpoxyCharSequence()
+ }
+}
diff --git a/vector/src/main/res/drawable-hdpi/ic_splash_collaboration.webp b/vector/src/main/res/drawable-hdpi/ic_splash_collaboration.webp
new file mode 100644
index 0000000000..7042e030d0
Binary files /dev/null and b/vector/src/main/res/drawable-hdpi/ic_splash_collaboration.webp differ
diff --git a/vector/src/main/res/drawable-hdpi/ic_splash_collaboration_dark.webp b/vector/src/main/res/drawable-hdpi/ic_splash_collaboration_dark.webp
new file mode 100644
index 0000000000..6e4297183a
Binary files /dev/null and b/vector/src/main/res/drawable-hdpi/ic_splash_collaboration_dark.webp differ
diff --git a/vector/src/main/res/drawable-hdpi/ic_splash_control.webp b/vector/src/main/res/drawable-hdpi/ic_splash_control.webp
new file mode 100644
index 0000000000..82c04e402b
Binary files /dev/null and b/vector/src/main/res/drawable-hdpi/ic_splash_control.webp differ
diff --git a/vector/src/main/res/drawable-hdpi/ic_splash_control_dark.webp b/vector/src/main/res/drawable-hdpi/ic_splash_control_dark.webp
new file mode 100644
index 0000000000..0d0c6ad78b
Binary files /dev/null and b/vector/src/main/res/drawable-hdpi/ic_splash_control_dark.webp differ
diff --git a/vector/src/main/res/drawable-hdpi/ic_splash_conversations.webp b/vector/src/main/res/drawable-hdpi/ic_splash_conversations.webp
new file mode 100644
index 0000000000..ee9604c1f1
Binary files /dev/null and b/vector/src/main/res/drawable-hdpi/ic_splash_conversations.webp differ
diff --git a/vector/src/main/res/drawable-hdpi/ic_splash_conversations_dark.webp b/vector/src/main/res/drawable-hdpi/ic_splash_conversations_dark.webp
new file mode 100644
index 0000000000..c5cdf4e6fe
Binary files /dev/null and b/vector/src/main/res/drawable-hdpi/ic_splash_conversations_dark.webp differ
diff --git a/vector/src/main/res/drawable-hdpi/ic_splash_secure.webp b/vector/src/main/res/drawable-hdpi/ic_splash_secure.webp
new file mode 100644
index 0000000000..a880031ada
Binary files /dev/null and b/vector/src/main/res/drawable-hdpi/ic_splash_secure.webp differ
diff --git a/vector/src/main/res/drawable-hdpi/ic_splash_secure_dark.webp b/vector/src/main/res/drawable-hdpi/ic_splash_secure_dark.webp
new file mode 100644
index 0000000000..65ef9f35ff
Binary files /dev/null and b/vector/src/main/res/drawable-hdpi/ic_splash_secure_dark.webp differ
diff --git a/vector/src/main/res/drawable-xhdpi/ic_splash_collaboration.webp b/vector/src/main/res/drawable-xhdpi/ic_splash_collaboration.webp
new file mode 100644
index 0000000000..d32d9f6026
Binary files /dev/null and b/vector/src/main/res/drawable-xhdpi/ic_splash_collaboration.webp differ
diff --git a/vector/src/main/res/drawable-xhdpi/ic_splash_collaboration_dark.webp b/vector/src/main/res/drawable-xhdpi/ic_splash_collaboration_dark.webp
new file mode 100644
index 0000000000..04af9e2db4
Binary files /dev/null and b/vector/src/main/res/drawable-xhdpi/ic_splash_collaboration_dark.webp differ
diff --git a/vector/src/main/res/drawable-xhdpi/ic_splash_control.webp b/vector/src/main/res/drawable-xhdpi/ic_splash_control.webp
new file mode 100644
index 0000000000..972d91d5d0
Binary files /dev/null and b/vector/src/main/res/drawable-xhdpi/ic_splash_control.webp differ
diff --git a/vector/src/main/res/drawable-xhdpi/ic_splash_control_dark.webp b/vector/src/main/res/drawable-xhdpi/ic_splash_control_dark.webp
new file mode 100644
index 0000000000..cbbea1ae87
Binary files /dev/null and b/vector/src/main/res/drawable-xhdpi/ic_splash_control_dark.webp differ
diff --git a/vector/src/main/res/drawable-xhdpi/ic_splash_conversations.webp b/vector/src/main/res/drawable-xhdpi/ic_splash_conversations.webp
new file mode 100644
index 0000000000..4057edfc66
Binary files /dev/null and b/vector/src/main/res/drawable-xhdpi/ic_splash_conversations.webp differ
diff --git a/vector/src/main/res/drawable-xhdpi/ic_splash_conversations_dark.webp b/vector/src/main/res/drawable-xhdpi/ic_splash_conversations_dark.webp
new file mode 100644
index 0000000000..e3b7f22c1a
Binary files /dev/null and b/vector/src/main/res/drawable-xhdpi/ic_splash_conversations_dark.webp differ
diff --git a/vector/src/main/res/drawable-xhdpi/ic_splash_secure.webp b/vector/src/main/res/drawable-xhdpi/ic_splash_secure.webp
new file mode 100644
index 0000000000..b8c772bde2
Binary files /dev/null and b/vector/src/main/res/drawable-xhdpi/ic_splash_secure.webp differ
diff --git a/vector/src/main/res/drawable-xhdpi/ic_splash_secure_dark.webp b/vector/src/main/res/drawable-xhdpi/ic_splash_secure_dark.webp
new file mode 100644
index 0000000000..d4c1f97652
Binary files /dev/null and b/vector/src/main/res/drawable-xhdpi/ic_splash_secure_dark.webp differ
diff --git a/vector/src/main/res/drawable-xhdpi/onboarding_carousel_connect.webp b/vector/src/main/res/drawable-xhdpi/onboarding_carousel_connect.webp
deleted file mode 100644
index 50aa2bc0f0..0000000000
Binary files a/vector/src/main/res/drawable-xhdpi/onboarding_carousel_connect.webp and /dev/null differ
diff --git a/vector/src/main/res/drawable-xhdpi/onboarding_carousel_conversations.webp b/vector/src/main/res/drawable-xhdpi/onboarding_carousel_conversations.webp
deleted file mode 100644
index cb1038db14..0000000000
Binary files a/vector/src/main/res/drawable-xhdpi/onboarding_carousel_conversations.webp and /dev/null differ
diff --git a/vector/src/main/res/drawable-xhdpi/onboarding_carousel_ems.webp b/vector/src/main/res/drawable-xhdpi/onboarding_carousel_ems.webp
deleted file mode 100644
index 4f1754b300..0000000000
Binary files a/vector/src/main/res/drawable-xhdpi/onboarding_carousel_ems.webp and /dev/null differ
diff --git a/vector/src/main/res/drawable-xhdpi/onboarding_carousel_universal.webp b/vector/src/main/res/drawable-xhdpi/onboarding_carousel_universal.webp
deleted file mode 100644
index de4c5f18cf..0000000000
Binary files a/vector/src/main/res/drawable-xhdpi/onboarding_carousel_universal.webp and /dev/null differ
diff --git a/vector/src/main/res/drawable-xxhdpi/ic_splash_collaboration.webp b/vector/src/main/res/drawable-xxhdpi/ic_splash_collaboration.webp
new file mode 100644
index 0000000000..8feed1f9f9
Binary files /dev/null and b/vector/src/main/res/drawable-xxhdpi/ic_splash_collaboration.webp differ
diff --git a/vector/src/main/res/drawable-xxhdpi/ic_splash_collaboration_dark.webp b/vector/src/main/res/drawable-xxhdpi/ic_splash_collaboration_dark.webp
new file mode 100644
index 0000000000..02e44fbf44
Binary files /dev/null and b/vector/src/main/res/drawable-xxhdpi/ic_splash_collaboration_dark.webp differ
diff --git a/vector/src/main/res/drawable-xxhdpi/ic_splash_control.webp b/vector/src/main/res/drawable-xxhdpi/ic_splash_control.webp
new file mode 100644
index 0000000000..99d4c4049d
Binary files /dev/null and b/vector/src/main/res/drawable-xxhdpi/ic_splash_control.webp differ
diff --git a/vector/src/main/res/drawable-xxhdpi/ic_splash_control_dark.webp b/vector/src/main/res/drawable-xxhdpi/ic_splash_control_dark.webp
new file mode 100644
index 0000000000..9afa384f27
Binary files /dev/null and b/vector/src/main/res/drawable-xxhdpi/ic_splash_control_dark.webp differ
diff --git a/vector/src/main/res/drawable-xxhdpi/ic_splash_conversations.webp b/vector/src/main/res/drawable-xxhdpi/ic_splash_conversations.webp
new file mode 100644
index 0000000000..99a4c0c6f5
Binary files /dev/null and b/vector/src/main/res/drawable-xxhdpi/ic_splash_conversations.webp differ
diff --git a/vector/src/main/res/drawable-xxhdpi/ic_splash_conversations_dark.webp b/vector/src/main/res/drawable-xxhdpi/ic_splash_conversations_dark.webp
new file mode 100644
index 0000000000..361981eec7
Binary files /dev/null and b/vector/src/main/res/drawable-xxhdpi/ic_splash_conversations_dark.webp differ
diff --git a/vector/src/main/res/drawable-xxhdpi/ic_splash_secure.webp b/vector/src/main/res/drawable-xxhdpi/ic_splash_secure.webp
new file mode 100644
index 0000000000..114421453e
Binary files /dev/null and b/vector/src/main/res/drawable-xxhdpi/ic_splash_secure.webp differ
diff --git a/vector/src/main/res/drawable-xxhdpi/ic_splash_secure_dark.webp b/vector/src/main/res/drawable-xxhdpi/ic_splash_secure_dark.webp
new file mode 100644
index 0000000000..737bcbdf17
Binary files /dev/null and b/vector/src/main/res/drawable-xxhdpi/ic_splash_secure_dark.webp differ
diff --git a/vector/src/main/res/drawable-xxxhdpi/ic_splash_collaboration.webp b/vector/src/main/res/drawable-xxxhdpi/ic_splash_collaboration.webp
new file mode 100644
index 0000000000..1dc31f6447
Binary files /dev/null and b/vector/src/main/res/drawable-xxxhdpi/ic_splash_collaboration.webp differ
diff --git a/vector/src/main/res/drawable-xxxhdpi/ic_splash_collaboration_dark.webp b/vector/src/main/res/drawable-xxxhdpi/ic_splash_collaboration_dark.webp
new file mode 100644
index 0000000000..943f2b9ba8
Binary files /dev/null and b/vector/src/main/res/drawable-xxxhdpi/ic_splash_collaboration_dark.webp differ
diff --git a/vector/src/main/res/drawable-xxxhdpi/ic_splash_control.webp b/vector/src/main/res/drawable-xxxhdpi/ic_splash_control.webp
new file mode 100644
index 0000000000..9375475513
Binary files /dev/null and b/vector/src/main/res/drawable-xxxhdpi/ic_splash_control.webp differ
diff --git a/vector/src/main/res/drawable-xxxhdpi/ic_splash_control_dark.webp b/vector/src/main/res/drawable-xxxhdpi/ic_splash_control_dark.webp
new file mode 100644
index 0000000000..905851dc26
Binary files /dev/null and b/vector/src/main/res/drawable-xxxhdpi/ic_splash_control_dark.webp differ
diff --git a/vector/src/main/res/drawable-xxxhdpi/ic_splash_conversations.webp b/vector/src/main/res/drawable-xxxhdpi/ic_splash_conversations.webp
new file mode 100644
index 0000000000..0d669312f5
Binary files /dev/null and b/vector/src/main/res/drawable-xxxhdpi/ic_splash_conversations.webp differ
diff --git a/vector/src/main/res/drawable-xxxhdpi/ic_splash_conversations_dark.webp b/vector/src/main/res/drawable-xxxhdpi/ic_splash_conversations_dark.webp
new file mode 100644
index 0000000000..c5c4b2ccdd
Binary files /dev/null and b/vector/src/main/res/drawable-xxxhdpi/ic_splash_conversations_dark.webp differ
diff --git a/vector/src/main/res/drawable-xxxhdpi/ic_splash_secure.webp b/vector/src/main/res/drawable-xxxhdpi/ic_splash_secure.webp
new file mode 100644
index 0000000000..6a2a3fda56
Binary files /dev/null and b/vector/src/main/res/drawable-xxxhdpi/ic_splash_secure.webp differ
diff --git a/vector/src/main/res/drawable-xxxhdpi/ic_splash_secure_dark.webp b/vector/src/main/res/drawable-xxxhdpi/ic_splash_secure_dark.webp
new file mode 100644
index 0000000000..b792cb16ea
Binary files /dev/null and b/vector/src/main/res/drawable-xxxhdpi/ic_splash_secure_dark.webp differ
diff --git a/vector/src/main/res/layout/item_splash_carousel.xml b/vector/src/main/res/layout/item_splash_carousel.xml
index bb1b9fa0d2..3df738290a 100644
--- a/vector/src/main/res/layout/item_splash_carousel.xml
+++ b/vector/src/main/res/layout/item_splash_carousel.xml
@@ -24,7 +24,9 @@
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/carousel_item_image_container"
- app:layout_constraintHeight_percent="0.1"
+ app:layout_constraintVertical_chainStyle="packed"
+ app:layout_constraintVertical_bias="0.0"
+ app:layout_constraintHeight_percent="@dimen/ftue_auth_carousel_item_spacing"
app:layout_constraintTop_toTopOf="parent" />
@@ -51,9 +53,8 @@
android:id="@+id/carousel_item_image_bottom_space"
android:layout_width="match_parent"
android:layout_height="0dp"
- android:layout_weight="0.05"
app:layout_constraintBottom_toTopOf="@id/carousel_item_title"
- app:layout_constraintHeight_percent="0.05"
+ app:layout_constraintHeight_percent="@dimen/ftue_auth_carousel_item_spacing"
app:layout_constraintTop_toBottomOf="@id/carousel_item_image_container" />
Not implemented yet in ${app_name}
+
+ Cut the slack from teams.
+
+ Secure and independent communication that gives you the same level of privacy as a face-to-face conversation in your own home.
+ Choose where your conversations are kept, giving you control and independence. Connected via Matrix.
+ End-to-end encrypted and no phone number required. No ads or datamining.
+ Messaging for your team.
+
+ ${app_name} is also great for the workplace. It’s trusted by the world’s most secure organisations.
+
Who will you chat to the most?
We\'ll help you get connected.
Friends and family
@@ -24,5 +34,4 @@
You can skip this question
Looking to join an existing server?
Connect to server
-
diff --git a/vector/src/main/res/values/strings.xml b/vector/src/main/res/values/strings.xml
index ab201def26..27bab7d66f 100644
--- a/vector/src/main/res/values/strings.xml
+++ b/vector/src/main/res/values/strings.xml
@@ -2521,12 +2521,16 @@
Own your conversations.
+
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.
+
+ Element lets you choose where your messages are stored, keeping you in control of your data.
+ Secure Messaging.
+
+ No phone number required, so you don\'t have to share those details with the outside world. No ads, no datamining.
Cut the slack from teams.
+
As universal as email, Element is a completely new type of collaboration.
It\'s your conversation. Own it.
@@ -3657,8 +3661,8 @@
%s in Settings to receive invites directly in Element.
- Enable LaTeX mathematics
- Restart the application for the change to take effect.
+ Enable LaTeX mathematics
+ Restart the application for the change to take effect.
Create Poll
diff --git a/vector/src/main/res/values/strings_no_weblate.xml b/vector/src/main/res/values/strings_no_weblate.xml
index a34f8207f3..35e0d43fb4 100644
--- a/vector/src/main/res/values/strings_no_weblate.xml
+++ b/vector/src/main/res/values/strings_no_weblate.xml
@@ -9,5 +9,4 @@
US
Latn
-
\ No newline at end of file