aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/model
diff options
context:
space:
mode:
authorFabian Henneke <FabianHenneke@users.noreply.github.com>2020-06-29 10:12:19 +0200
committerGitHub <noreply@github.com>2020-06-29 10:12:19 +0200
commit8bc662c9c02824718cb9c297fd3b3cf77fb8f2c9 (patch)
tree0ac2a1a2e1bae8fb43a7049fd8651808e8255452 /app/src/main/java/com/zeapo/pwdstore/model
parentac6220eed31f1aab0f73403b3befe77c57f0c9a1 (diff)
downloadHardenedPass-8bc662c9c02824718cb9c297fd3b3cf77fb8f2c9.tar.gz
HardenedPass-8bc662c9c02824718cb9c297fd3b3cf77fb8f2c9.zip
Offer TOTP Autofill for OTP fields (#899)
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/model')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/model/PasswordEntry.kt8
1 files changed, 8 insertions, 0 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/model/PasswordEntry.kt b/app/src/main/java/com/zeapo/pwdstore/model/PasswordEntry.kt
index da2d57c6..27a0c584 100644
--- a/app/src/main/java/com/zeapo/pwdstore/model/PasswordEntry.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/model/PasswordEntry.kt
@@ -4,10 +4,12 @@
*/
package com.zeapo.pwdstore.model
+import com.zeapo.pwdstore.utils.Otp
import com.zeapo.pwdstore.utils.TotpFinder
import com.zeapo.pwdstore.utils.UriTotpFinder
import java.io.ByteArrayOutputStream
import java.io.UnsupportedEncodingException
+import java.util.Date
/**
* A single entry in password store. [totpFinder] is an implementation of [TotpFinder] that let's us
@@ -50,6 +52,12 @@ class PasswordEntry(content: String, private val totpFinder: TotpFinder = UriTot
return username != null
}
+ fun calculateTotpCode(): String? {
+ if (totpSecret == null)
+ return null
+ return Otp.calculateCode(totpSecret, Date().time / (1000 * totpPeriod), totpAlgorithm, digits)
+ }
+
val extraContentWithoutAuthData by lazy {
extraContent.splitToSequence("\n").filter { line ->
return@filter when {