From 4c9413709d58594a6d2c1e2bdbf854ec4a7fc291 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Wed, 29 Dec 2021 16:05:19 +0530 Subject: Refactor BiometricAuthenticator and add proper support for retries (#1627) --- .../java/dev/msfjarvis/aps/util/git/operation/GitOperation.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'app/src/main/java/dev/msfjarvis/aps/util/git') diff --git a/app/src/main/java/dev/msfjarvis/aps/util/git/operation/GitOperation.kt b/app/src/main/java/dev/msfjarvis/aps/util/git/operation/GitOperation.kt index 736b69c2..141de348 100644 --- a/app/src/main/java/dev/msfjarvis/aps/util/git/operation/GitOperation.kt +++ b/app/src/main/java/dev/msfjarvis/aps/util/git/operation/GitOperation.kt @@ -22,6 +22,7 @@ import dev.msfjarvis.aps.data.repo.PasswordRepository import dev.msfjarvis.aps.ui.sshkeygen.SshKeyGenActivity import dev.msfjarvis.aps.ui.sshkeygen.SshKeyImportActivity import dev.msfjarvis.aps.util.auth.BiometricAuthenticator +import dev.msfjarvis.aps.util.auth.BiometricAuthenticator.Result.* import dev.msfjarvis.aps.util.git.GitCommandExecutor import dev.msfjarvis.aps.util.git.sshj.ContinuationContainerActivity import dev.msfjarvis.aps.util.git.sshj.SshAuthMethod @@ -172,17 +173,17 @@ abstract class GitOperation(protected val callingActivity: FragmentActivity) { BiometricAuthenticator.authenticate( callingActivity, R.string.biometric_prompt_title_ssh_auth - ) { if (it !is BiometricAuthenticator.Result.Failure) cont.resume(it) } + ) { result -> if (result !is Failure) cont.resume(result) } } } when (result) { - is BiometricAuthenticator.Result.Success -> { + is Success -> { registerAuthProviders(SshAuthMethod.SshKey(authActivity)) } - is BiometricAuthenticator.Result.Cancelled -> { + is Cancelled -> { return Err(SSHException(DisconnectReason.AUTH_CANCELLED_BY_USER)) } - is BiometricAuthenticator.Result.Failure -> { + is Failure -> { throw IllegalStateException("Biometric authentication failures should be ignored") } else -> { -- cgit v1.2.3