aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/app/passwordstore/util/git/operation/GitOperation.kt10
1 files changed, 3 insertions, 7 deletions
diff --git a/app/src/main/java/app/passwordstore/util/git/operation/GitOperation.kt b/app/src/main/java/app/passwordstore/util/git/operation/GitOperation.kt
index 2d8b46ca..25d99d6d 100644
--- a/app/src/main/java/app/passwordstore/util/git/operation/GitOperation.kt
+++ b/app/src/main/java/app/passwordstore/util/git/operation/GitOperation.kt
@@ -12,9 +12,7 @@ import app.passwordstore.data.repo.PasswordRepository
import app.passwordstore.ui.main.MainActivity
import app.passwordstore.ui.setup.SetupStart
import app.passwordstore.util.auth.BiometricAuthenticator
-import app.passwordstore.util.auth.BiometricAuthenticator.Result.CanceledBySystem
import app.passwordstore.util.auth.BiometricAuthenticator.Result.CanceledByUser
-import app.passwordstore.util.auth.BiometricAuthenticator.Result.Failure
import app.passwordstore.util.auth.BiometricAuthenticator.Result.Retry
import app.passwordstore.util.auth.BiometricAuthenticator.Result.Success
import app.passwordstore.util.coroutines.DispatcherProvider
@@ -163,7 +161,9 @@ abstract class GitOperation(protected val callingActivity: FragmentActivity) {
callingActivity,
R.string.biometric_prompt_title_ssh_auth,
) { result ->
- if (result !is Failure && result !is Retry) cont.resume(result)
+ // Retry: a failed attempt while the prompt stays open. Every other result
+ // closes it, so waiting for more would leave the operation hanging.
+ if (result !is Retry) cont.resume(result)
}
}
}
@@ -174,10 +174,6 @@ abstract class GitOperation(protected val callingActivity: FragmentActivity) {
is CanceledByUser -> {
return Err(SSHException(DisconnectReason.AUTH_CANCELLED_BY_USER))
}
- is Failure,
- is CanceledBySystem -> {
- throw IllegalStateException("Biometric authentication failures should be ignored")
- }
else -> {
// There is a chance we succeed if the user recently confirmed
// their screen lock. Doing so would have a potential to confuse