diff options
| author | Harsh Shandilya <me@msfjarvis.dev> | 2021-12-29 16:05:19 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-29 10:35:19 +0000 |
| commit | 4c9413709d58594a6d2c1e2bdbf854ec4a7fc291 (patch) | |
| tree | 927c818c22f0094974a4e0499f335da0260de076 /app/src/main/java/dev/msfjarvis/aps/util/git/operation | |
| parent | 8b5be3f7857605dd0c152610fbf2fb750f717b67 (diff) | |
| download | HardenedPass-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/util/git/operation')
| -rw-r--r-- | app/src/main/java/dev/msfjarvis/aps/util/git/operation/GitOperation.kt | 9 |
1 files changed, 5 insertions, 4 deletions
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 -> { |
