Merge pull request #36 from BharathKmalviya/master

Crash fix in Password Generator
This commit is contained in:
Yogesh Choudhary Paliyal
2021-10-27 23:52:03 +05:30
committed by GitHub
4 changed files with 14 additions and 17 deletions
+1
View File
@@ -4,6 +4,7 @@
<option name="filePathToZoomLevelMap">
<map>
<entry key="../../../../layout/custom_preview.xml" value="0.20833333333333334" />
<entry key="..\:/Android Studio/My Projects/KeyPass/app/src/main/res/layout/activity_generate_password.xml" value="0.23229166666666667" />
<entry key="..\:/Users/paliy/StudioProjects/KeyPass/app/src/main/res/drawable/ic_twotone_content_copy_24.xml" value="0.10989583333333333" />
<entry key="..\:/Users/paliy/StudioProjects/KeyPass/app/src/main/res/layout/activity_add_totpactivity.xml" value="0.16485507246376813" />
<entry key="..\:/Users/paliy/StudioProjects/KeyPass/app/src/main/res/layout/activity_dashboard.xml" value="0.2" />
Generated
-7
View File
@@ -1,12 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GithubSharedProjectSettings">
<option name="branchProtectionPatterns">
<list>
<option value="master" />
</list>
</option>
</component>
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
@@ -35,12 +35,14 @@ class GeneratePasswordActivity : AppCompatActivity() {
private fun generatePassword() {
val password = PasswordGenerator(
binding.sliderPasswordLength.value.toInt(), binding.cbCapAlphabets.isChecked,
binding.cbLowerAlphabets.isChecked,
binding.cbSymbols.isChecked,
binding.cbNumbers.isChecked
length = binding.sliderPasswordLength.value.toInt(),
includeUpperCaseLetters = binding.cbCapAlphabets.isChecked,
includeLowerCaseLetters = binding.cbLowerAlphabets.isChecked,
includeSymbols = binding.cbSymbols.isChecked,
includeNumbers = binding.cbNumbers.isChecked
).generatePassword()
binding.etPassword.setText(password)
binding.etPassword.setSelection(password.length)
}
}
@@ -28,12 +28,13 @@ class PasswordGenerator(
list.add(SYMBOLS)
for (i in 1..length) {
val choice = list.random()
when (choice) {
UPPER_CASE -> password += ('A'..'Z').random().toString()
LOWER_CASE -> password += ('a'..'z').random().toString()
NUMBERS -> password += ('0'..'9').random().toString()
SYMBOLS -> password += listOf('!', '@', '#', '$', '%', '&', '*', '+', '=', '-', '~', '?', '/', '_').random().toString()
if (list.isNotEmpty()) {
when (list.random()) {
UPPER_CASE -> password += ('A'..'Z').random().toString()
LOWER_CASE -> password += ('a'..'z').random().toString()
NUMBERS -> password += ('0'..'9').random().toString()
SYMBOLS -> password += listOf('!', '@', '#', '$', '%', '&', '*', '+', '=', '-', '~', '?', '/', '_').random().toString()
}
}
}
return password