aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/dev/msfjarvis/aps/ui/sshkeygen
diff options
context:
space:
mode:
authorHarsh Shandilya <me@msfjarvis.dev>2021-12-29 16:05:19 +0530
committerGitHub <noreply@github.com>2021-12-29 10:35:19 +0000
commit4c9413709d58594a6d2c1e2bdbf854ec4a7fc291 (patch)
tree927c818c22f0094974a4e0499f335da0260de076 /app/src/main/java/dev/msfjarvis/aps/ui/sshkeygen
parent8b5be3f7857605dd0c152610fbf2fb750f717b67 (diff)
downloadHardenedPass-4c9413709d58594a6d2c1e2bdbf854ec4a7fc291.tar.gz
HardenedPass-4c9413709d58594a6d2c1e2bdbf854ec4a7fc291.zip
Refactor BiometricAuthenticator and add proper support for retries (#1627)
Diffstat (limited to 'app/src/main/java/dev/msfjarvis/aps/ui/sshkeygen')
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/ui/sshkeygen/SshKeyGenActivity.kt9
1 files changed, 5 insertions, 4 deletions
diff --git a/app/src/main/java/dev/msfjarvis/aps/ui/sshkeygen/SshKeyGenActivity.kt b/app/src/main/java/dev/msfjarvis/aps/ui/sshkeygen/SshKeyGenActivity.kt
index 0d8ffcbc..63abdf7c 100644
--- a/app/src/main/java/dev/msfjarvis/aps/ui/sshkeygen/SshKeyGenActivity.kt
+++ b/app/src/main/java/dev/msfjarvis/aps/ui/sshkeygen/SshKeyGenActivity.kt
@@ -22,6 +22,7 @@ import dev.msfjarvis.aps.R
import dev.msfjarvis.aps.databinding.ActivitySshKeygenBinding
import dev.msfjarvis.aps.injection.prefs.GitPreferences
import dev.msfjarvis.aps.util.auth.BiometricAuthenticator
+import dev.msfjarvis.aps.util.auth.BiometricAuthenticator.Result
import dev.msfjarvis.aps.util.extensions.keyguardManager
import dev.msfjarvis.aps.util.extensions.viewBinding
import dev.msfjarvis.aps.util.git.sshj.SshKey
@@ -121,17 +122,17 @@ class SshKeyGenActivity : AppCompatActivity() {
if (requireAuthentication) {
val result =
withContext(Dispatchers.Main) {
- suspendCoroutine<BiometricAuthenticator.Result> { cont ->
+ suspendCoroutine<Result> { cont ->
BiometricAuthenticator.authenticate(
this@SshKeyGenActivity,
R.string.biometric_prompt_title_ssh_keygen
- ) {
+ ) { result ->
// Do not cancel on failed attempts as these are handled by the authenticator UI.
- if (it !is BiometricAuthenticator.Result.Failure) cont.resume(it)
+ if (result !is Result.Retry) cont.resume(result)
}
}
}
- if (result !is BiometricAuthenticator.Result.Success)
+ if (result !is Result.Success)
throw UserNotAuthenticatedException(getString(R.string.biometric_auth_generic_failure))
}
keyGenType.generateKey(requireAuthentication)