mirror of
https://github.com/bitwarden/android.git
synced 2026-06-08 08:06:32 -05:00
BIT-618: Auto-enable At Least One Toggle in Password Generation to Prevent Errors (#357)
This commit is contained in:
committed by
Álison Fernandes
parent
33a99ce68d
commit
9cbc73337e
@@ -666,7 +666,12 @@ class GeneratorViewModel @Inject constructor(
|
||||
if (currentPasswordType !is Password) {
|
||||
return@updateGeneratorMainTypePasscode currentSelectedType
|
||||
}
|
||||
currentSelectedType.copy(selectedType = block(currentPasswordType))
|
||||
|
||||
val updatedPasswordType = currentPasswordType
|
||||
.let(block)
|
||||
.enforceAtLeastOneToggleOn()
|
||||
|
||||
currentSelectedType.copy(selectedType = updatedPasswordType)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1409,3 +1414,16 @@ sealed class GeneratorEvent {
|
||||
val message: Text,
|
||||
) : GeneratorEvent()
|
||||
}
|
||||
|
||||
@Suppress("ComplexCondition")
|
||||
private fun Password.enforceAtLeastOneToggleOn(): Password =
|
||||
// If all toggles are off, turn on useLowercase
|
||||
if (!this.useCapitals &&
|
||||
!this.useLowercase &&
|
||||
!this.useNumbers &&
|
||||
!this.useSpecialChars
|
||||
) {
|
||||
this.copy(useLowercase = true)
|
||||
} else {
|
||||
this
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user