From 063c1a1144bb50845ecfb7d56eea16e4db4540e4 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Mon, 29 Jun 2020 12:08:59 +0530 Subject: Reintroduce TOTP support (#890) Co-authored-by: Fabian Henneke --- .../java/com/zeapo/pwdstore/utils/TotpFinder.kt | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 app/src/main/java/com/zeapo/pwdstore/utils/TotpFinder.kt (limited to 'app/src/main/java/com/zeapo/pwdstore/utils/TotpFinder.kt') diff --git a/app/src/main/java/com/zeapo/pwdstore/utils/TotpFinder.kt b/app/src/main/java/com/zeapo/pwdstore/utils/TotpFinder.kt new file mode 100644 index 00000000..13a47543 --- /dev/null +++ b/app/src/main/java/com/zeapo/pwdstore/utils/TotpFinder.kt @@ -0,0 +1,32 @@ +/* + * Copyright © 2014-2020 The Android Password Store Authors. All Rights Reserved. + * SPDX-License-Identifier: GPL-3.0-only + */ + +package com.zeapo.pwdstore.utils + +/** + * Defines a class that can extract relevant parts of a TOTP URL for use by the app. + */ +interface TotpFinder { + + /** + * Get the TOTP secret from the given extra content. + */ + fun findSecret(content: String): String? + + /** + * Get the number of digits required in the final OTP. + */ + fun findDigits(content: String): String + + /** + * Get the TOTP timeout period. + */ + fun findPeriod(content: String): Long + + /** + * Get the algorithm for the TOTP secret. + */ + fun findAlgorithm(content: String): String +} -- cgit v1.2.3