aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/PasswordEntry.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/PasswordEntry.kt')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/PasswordEntry.kt12
1 files changed, 7 insertions, 5 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordEntry.kt b/app/src/main/java/com/zeapo/pwdstore/PasswordEntry.kt
index 2b1f1eee..392bc749 100644
--- a/app/src/main/java/com/zeapo/pwdstore/PasswordEntry.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/PasswordEntry.kt
@@ -11,7 +11,7 @@ import java.io.UnsupportedEncodingException
class PasswordEntry(private val content: String) {
val password: String
val username: String?
- val digits: String?
+ val digits: String
val totpSecret: String?
val totpPeriod: Long
val totpAlgorithm: String
@@ -87,11 +87,13 @@ class PasswordEntry(private val content: String) {
return null
}
- private fun findOtpDigits(decryptedContent: String): String? {
+ private fun findOtpDigits(decryptedContent: String): String {
decryptedContent.split("\n".toRegex()).forEach { line ->
- if (line.startsWith("optauth://totp/") ||
- line.startsWith("otpauth://hotp/"))
- return Uri.parse(line).getQueryParameters("digits").toString()
+ if (line.startsWith("otpauth://totp/") ||
+ line.startsWith("otpauth://hotp/") &&
+ Uri.parse(line).getQueryParameter("digits") != null) {
+ return Uri.parse(line).getQueryParameter("digits")!!
+ }
}
return "6"
}