aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/dev/msfjarvis/aps/data
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/dev/msfjarvis/aps/data')
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/data/password/FieldItem.kt24
1 files changed, 16 insertions, 8 deletions
diff --git a/app/src/main/java/dev/msfjarvis/aps/data/password/FieldItem.kt b/app/src/main/java/dev/msfjarvis/aps/data/password/FieldItem.kt
index 5b4931e7..e7c88ef1 100644
--- a/app/src/main/java/dev/msfjarvis/aps/data/password/FieldItem.kt
+++ b/app/src/main/java/dev/msfjarvis/aps/data/password/FieldItem.kt
@@ -5,31 +5,39 @@
package dev.msfjarvis.aps.data.password
+import dev.msfjarvis.aps.data.passfile.Totp
+import kotlin.time.ExperimentalTime
+
+@OptIn(ExperimentalTime::class)
class FieldItem(val key: String, val value: String, val action: ActionType) {
enum class ActionType {
COPY,
HIDE
}
- enum class ItemType(val type: String) {
- USERNAME("Username"),
- PASSWORD("Password"),
- OTP("OTP")
+ enum class ItemType(val type: String, val label: String) {
+ USERNAME("Username", "Username"),
+ PASSWORD("Password", "Password"),
+ OTP("OTP", "OTP (expires in %ds)"),
}
companion object {
// Extra helper methods
- fun createOtpField(otp: String): FieldItem {
- return FieldItem(ItemType.OTP.type, otp, ActionType.COPY)
+ fun createOtpField(totp: Totp): FieldItem {
+ return FieldItem(
+ ItemType.OTP.label.format(totp.remainingTime.inWholeSeconds),
+ totp.value,
+ ActionType.COPY,
+ )
}
fun createPasswordField(password: String): FieldItem {
- return FieldItem(ItemType.PASSWORD.type, password, ActionType.HIDE)
+ return FieldItem(ItemType.PASSWORD.label, password, ActionType.HIDE)
}
fun createUsernameField(username: String): FieldItem {
- return FieldItem(ItemType.USERNAME.type, username, ActionType.COPY)
+ return FieldItem(ItemType.USERNAME.label, username, ActionType.COPY)
}
}
}