From 869eada21c86c4b40d98b8b9ee97f3d487ac9899 Mon Sep 17 00:00:00 2001 From: Michelle Tang Date: Tue, 21 Oct 2025 10:29:12 -0400 Subject: [PATCH] Update recovery key education sheet. --- .../MessageBackupsKeyEducationScreen.kt | 53 ++++++++++++++----- app/src/main/res/values/strings.xml | 10 ++-- 2 files changed, 45 insertions(+), 18 deletions(-) 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