Add selector for password length and remove selector for multiple passwords.
This commit is contained in:
parent
d00be7be59
commit
22cb3206b8
@ -29,7 +29,13 @@ class MainActivity : AppCompatActivity() {
|
||||
generateButton = findViewById(R.id.generateButton)
|
||||
switchWithoutSpaces = findViewById(R.id.switchWithoutSpaces)
|
||||
switchSpecialChars = findViewById(R.id.switchSpecialChars)
|
||||
passwordLengthPicker = findViewById(R.id.passwordLengthPicker)
|
||||
|
||||
// Set the range of selectable values for password length (1 to 10)
|
||||
val defaultPasswordLength = 4
|
||||
passwordLengthPicker.minValue = 1
|
||||
passwordLengthPicker.maxValue = 10
|
||||
passwordLengthPicker.value = defaultPasswordLength
|
||||
|
||||
generateButton.setOnClickListener {
|
||||
generatePassword()
|
||||
@ -45,8 +51,8 @@ class MainActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
private fun generatePassword() {
|
||||
|
||||
val password = generateRandomWords(6)
|
||||
val passwordLength = passwordLengthPicker.value
|
||||
val password = generateRandomWords(passwordLength)
|
||||
|
||||
passwordTextView.text = password
|
||||
}
|
||||
@ -108,13 +114,22 @@ class MainActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
private fun addSpecialCharacters(password: String): String {
|
||||
// Add special characters like $, comma, dot, etc.
|
||||
// Insert special character, uppercase character, and digit at random positions within the password
|
||||
val specialChars = listOf('$', ',', '.', '#', '@', '!', '%', '&')
|
||||
val random = Random.Default
|
||||
|
||||
val index = random.nextInt(0, password.length + 1)
|
||||
val specialChar = specialChars[random.nextInt(specialChars.size)]
|
||||
|
||||
return password.substring(0, index) + specialChar + password.substring(index)
|
||||
val uppercaseChar = ('A'..'Z').random() // Generate random uppercase character
|
||||
val digit = random.nextInt(0, 10) // Generate random digit (number)
|
||||
|
||||
val newPassword = StringBuilder(password)
|
||||
newPassword.insert(index, specialChar)
|
||||
newPassword.insert(random.nextInt(0, newPassword.length + 1), uppercaseChar)
|
||||
newPassword.insert(random.nextInt(0, newPassword.length + 1), digit.toString())
|
||||
|
||||
//return password.substring(0, index) + specialChar + password.substring(index)
|
||||
return newPassword.toString()
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,14 +48,6 @@
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="32dp"/>
|
||||
|
||||
<NumberPicker
|
||||
android:id="@+id/numPasswordsPicker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/passwordLengthPicker"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="16dp"/>
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/switchWithoutSpaces"
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user