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 103563b453..1ba2b2653c 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,6 +5,7 @@ package org.thoughtcrime.securesms.backup.v2.ui.subscription +import android.widget.Toast import androidx.annotation.DrawableRes import androidx.annotation.StringRes import androidx.compose.foundation.Image @@ -28,6 +29,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -46,6 +48,7 @@ import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.horizontalGutters import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R +import org.thoughtcrime.securesms.components.compose.rememberBiometricsAuthentication import org.signal.core.ui.R as CoreUiR enum class MessageBackupsKeyEducationScreenMode { @@ -80,6 +83,14 @@ fun MessageBackupsKeyEducationScreen( mode: MessageBackupsKeyEducationScreenMode = MessageBackupsKeyEducationScreenMode.DEFAULT ) { val scrollState = rememberScrollState() + val context = LocalContext.current + val biometrics = rememberBiometricsAuthentication( + promptTitle = stringResource(R.string.RemoteBackupsSettingsFragment__unlock_to_view_backup_key), + educationSheetMessage = stringResource(R.string.RemoteBackupsSettingsFragment__to_view_your_key), + onAuthenticationFailed = { + Toast.makeText(context, R.string.RemoteBackupsSettingsFragment__authentication_required, Toast.LENGTH_SHORT).show() + } + ) Scaffolds.Settings( title = "", @@ -139,7 +150,7 @@ fun MessageBackupsKeyEducationScreen( .padding(top = 16.dp, bottom = 24.dp) ) { Buttons.LargeTonal( - onClick = onNextClick, + onClick = { biometrics.withBiometricsAuthentication(onNextClick) }, modifier = Modifier.align(Alignment.Center) ) { Text( diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/verify/VerifyBackupKeyActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/verify/VerifyBackupKeyActivity.kt index 8bbf3509c3..18aed311a5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/verify/VerifyBackupKeyActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/verify/VerifyBackupKeyActivity.kt @@ -61,7 +61,7 @@ class VerifyBackupKeyActivity : PassphraseRequiredActivity() { // Matches existing behavior: show a generic "authentication required" toast. Toast.makeText( context, - R.string.RemoteBackupsSettingsFragment__authenticatino_required, + R.string.RemoteBackupsSettingsFragment__authentication_required, Toast.LENGTH_SHORT ).show() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/remote/RemoteBackupsSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/remote/RemoteBackupsSettingsFragment.kt index bfe276e461..0c5fa895b6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/remote/RemoteBackupsSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/remote/RemoteBackupsSettingsFragment.kt @@ -368,7 +368,7 @@ private fun RemoteBackupsSettingsContent( promptTitle = stringResource(R.string.RemoteBackupsSettingsFragment__unlock_to_view_backup_key), educationSheetMessage = stringResource(R.string.RemoteBackupsSettingsFragment__to_view_your_key), onAuthenticationFailed = { - Toast.makeText(context, R.string.RemoteBackupsSettingsFragment__authenticatino_required, Toast.LENGTH_SHORT).show() + Toast.makeText(context, R.string.RemoteBackupsSettingsFragment__authentication_required, Toast.LENGTH_SHORT).show() } ) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bc55f57601..e91fd76fca 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -8724,7 +8724,7 @@ Off - Authentication required + Authentication required Payment history