mirror of
https://github.com/bitwarden/android.git
synced 2026-06-02 11:12:00 -05:00
BIT-2102: Require all password fields for vault export (#1206)
This commit is contained in:
committed by
Álison Fernandes
parent
8960210bb0
commit
d7e3b74c25
@@ -37,7 +37,6 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.x8bit.bitwarden.R
|
||||
import com.x8bit.bitwarden.ui.auth.feature.createaccount.PasswordStrengthIndicator
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.EventsEffect
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.asText
|
||||
import com.x8bit.bitwarden.ui.platform.components.appbar.BitwardenTopAppBar
|
||||
import com.x8bit.bitwarden.ui.platform.components.button.BitwardenFilledTonalButton
|
||||
import com.x8bit.bitwarden.ui.platform.components.dialog.BasicDialogState
|
||||
@@ -127,7 +126,7 @@ fun ExportVaultScreen(
|
||||
is ExportVaultState.DialogState.Error -> {
|
||||
BitwardenBasicDialog(
|
||||
visibilityState = BasicDialogState.Shown(
|
||||
title = dialog.title ?: R.string.an_error_has_occurred.asText(),
|
||||
title = dialog.title,
|
||||
message = dialog.message,
|
||||
),
|
||||
onDismissRequest = remember(viewModel) {
|
||||
|
||||
@@ -118,15 +118,30 @@ class ExportVaultViewModel @Inject constructor(
|
||||
/**
|
||||
* Verify the master password after confirming exporting the vault.
|
||||
*/
|
||||
@Suppress("ReturnCount")
|
||||
private fun handleConfirmExportVaultClicked() {
|
||||
// Display an error alert if the user hasn't entered a password.
|
||||
if (mutableStateFlow.value.passwordInput.isBlank()) {
|
||||
updateStateWithError(
|
||||
R.string.validation_field_required.asText(
|
||||
message = R.string.validation_field_required.asText(
|
||||
R.string.master_password.asText(),
|
||||
),
|
||||
)
|
||||
return
|
||||
} else if (state.exportFormat == ExportVaultFormat.JSON_ENCRYPTED) {
|
||||
if (state.filePasswordInput.isBlank()) {
|
||||
updateStateWithError(
|
||||
message = R.string.validation_field_required
|
||||
.asText(R.string.file_password.asText()),
|
||||
)
|
||||
return
|
||||
} else if (state.confirmFilePasswordInput.isBlank()) {
|
||||
updateStateWithError(
|
||||
message = R.string.validation_field_required
|
||||
.asText(R.string.confirm_file_password.asText()),
|
||||
)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// Otherwise, validate the password.
|
||||
@@ -335,7 +350,7 @@ class ExportVaultViewModel @Inject constructor(
|
||||
mutableStateFlow.update {
|
||||
it.copy(
|
||||
dialogState = ExportVaultState.DialogState.Error(
|
||||
title = null,
|
||||
title = R.string.an_error_has_occurred.asText(),
|
||||
message = message,
|
||||
),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user