diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyEducationScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyEducationScreen.kt
index 9f1691258f..a577717760 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyEducationScreen.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyEducationScreen.kt
@@ -5,9 +5,12 @@
package org.thoughtcrime.securesms.backup.v2.ui.subscription
+import androidx.annotation.DrawableRes
+import androidx.annotation.StringRes
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
@@ -15,6 +18,7 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
+import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@@ -72,20 +76,19 @@ fun MessageBackupsKeyEducationScreen(
modifier = Modifier.padding(top = 16.dp)
)
- Text(
- text = stringResource(R.string.MessageBackupsKeyEducationScreen__your_backup_key_is_a),
- textAlign = TextAlign.Center,
- style = MaterialTheme.typography.bodyLarge,
- color = MaterialTheme.colorScheme.onSurfaceVariant,
- modifier = Modifier.padding(top = 12.dp)
+ InfoRow(
+ R.drawable.symbol_number_24,
+ R.string.MessageBackupsKeyEducationScreen__your_backup_key_is_a
)
- Text(
- text = stringResource(R.string.MessageBackupsKeyEducationScreen__if_you_forget_your_key),
- textAlign = TextAlign.Center,
- style = MaterialTheme.typography.bodyLarge,
- color = MaterialTheme.colorScheme.onSurfaceVariant,
- modifier = Modifier.padding(top = 16.dp)
+ InfoRow(
+ R.drawable.symbol_lock_24,
+ R.string.MessageBackupsKeyEducationScreen__store_your_recovery
+ )
+
+ InfoRow(
+ R.drawable.symbol_error_circle_24,
+ R.string.MessageBackupsKeyEducationScreen__if_you_lose_it
)
Spacer(
@@ -101,10 +104,11 @@ fun MessageBackupsKeyEducationScreen(
) {
Buttons.LargeTonal(
onClick = onNextClick,
- modifier = Modifier.align(Alignment.BottomEnd)
+ modifier = Modifier.align(Alignment.Center)
) {
Text(
- text = stringResource(R.string.MessageBackupsKeyEducationScreen__next)
+ text = stringResource(R.string.MessageBackupsKeyEducationScreen__view_recovery_key),
+ modifier = Modifier.padding(horizontal = 20.dp)
)
}
}
@@ -112,6 +116,27 @@ fun MessageBackupsKeyEducationScreen(
}
}
+@Composable
+private fun InfoRow(@DrawableRes iconId: Int, @StringRes textId: Int) {
+ Row(
+ verticalAlignment = Alignment.Top,
+ modifier = Modifier.padding(top = 24.dp)
+ ) {
+ Icon(
+ imageVector = ImageVector.vectorResource(iconId),
+ contentDescription = null,
+ tint = MaterialTheme.colorScheme.onSurfaceVariant
+
+ )
+ Text(
+ text = stringResource(textId),
+ style = MaterialTheme.typography.bodyLarge,
+ color = MaterialTheme.colorScheme.onSurfaceVariant,
+ modifier = Modifier.padding(start = 16.dp)
+ )
+ }
+}
+
@DayNightPreviews
@Composable
private fun MessageBackupsKeyEducationScreenPreview() {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fd1bc3e6db..0cf0ec796f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -8425,13 +8425,15 @@
- Your recovery key
+ Recovery key
- Your recovery key is a 64-character code that lets you restore your backup when you re-install Signal.
+ Your recovery key is a 64-character code that you will need to restore your backup.
- If you forget your key, you will not be able to restore your backup. Signal cannot help you recover your backup.
+ Store your recovery key somewhere safe like a secure password manager, and don’t share it with anyone.
+
+ If you lose it, you won’t be able to recover your messages.
- Next
+ View recovery key