From 3f303d3f39407866a9d571ad4a1f343eae210422 Mon Sep 17 00:00:00 2001 From: aj-rosado <109146700+aj-rosado@users.noreply.github.com> Date: Tue, 2 Dec 2025 10:01:00 +0000 Subject: [PATCH] [BWA-179] Added clarification of functionality on Authenticator's ExportScreen (#6190) --- .../feature/settings/export/ExportScreen.kt | 30 +++++++++++++++++++ ui/src/main/res/values/strings.xml | 4 ++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/settings/export/ExportScreen.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/settings/export/ExportScreen.kt index a377bc85c1..36a426b043 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/settings/export/ExportScreen.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/settings/export/ExportScreen.kt @@ -10,6 +10,7 @@ import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Text import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.rememberTopAppBarState import androidx.compose.runtime.Composable @@ -23,6 +24,7 @@ import androidx.compose.ui.platform.LocalResources import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle @@ -45,6 +47,7 @@ import com.bitwarden.ui.platform.composition.LocalIntentManager import com.bitwarden.ui.platform.manager.IntentManager import com.bitwarden.ui.platform.resource.BitwardenDrawable import com.bitwarden.ui.platform.resource.BitwardenString +import com.bitwarden.ui.platform.theme.BitwardenTheme import kotlinx.collections.immutable.toImmutableList /** @@ -175,7 +178,34 @@ private fun ExportScreenContent( .verticalScroll(rememberScrollState()), ) { val resources = LocalResources.current + Spacer(modifier = Modifier.height(height = 24.dp)) + + Text( + text = stringResource(id = BitwardenString.included_in_this_export), + style = BitwardenTheme.typography.titleMedium, + color = BitwardenTheme.colorScheme.text.primary, + textAlign = TextAlign.Center, + modifier = Modifier + .standardHorizontalMargin() + .fillMaxWidth(), + ) + Spacer(modifier = Modifier.height(height = 12.dp)) + + Text( + text = stringResource( + id = BitwardenString.only_codes_stored_locally_on_this_device_will_be_exported, + ), + style = BitwardenTheme.typography.bodyMedium, + color = BitwardenTheme.colorScheme.text.primary, + textAlign = TextAlign.Center, + modifier = Modifier + .standardHorizontalMargin() + .fillMaxWidth(), + ) + + Spacer(modifier = Modifier.height(height = 24.dp)) + BitwardenMultiSelectButton( label = stringResource(id = BitwardenString.file_format), options = ExportVaultFormat.entries.map { it.displayLabel() }.toImmutableList(), diff --git a/ui/src/main/res/values/strings.xml b/ui/src/main/res/values/strings.xml index 8f61d161cd..db8f5dccb7 100644 --- a/ui/src/main/res/values/strings.xml +++ b/ui/src/main/res/values/strings.xml @@ -385,7 +385,7 @@ Scanning will happen automatically. Send a verification code to your email Code sent! Confirm your identity to continue. - This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it. + For your security, don’t share or send this file over unsecured channels (like email), and delete it when you’re done. This file export will be password protected and require the file password to decrypt. Confirm vault export Warning @@ -1042,6 +1042,8 @@ Do you want to switch to this account? Export Confirm export Data exported successfully + Included in this export + Only codes stored locally on this device will be exported. Synced codes aren\'t included Security Too many failed biometrics attempts. Version