From 65509eaa54ea5fa8e363e3d6b1c044b1383a2c31 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Fri, 19 May 2023 18:42:01 +0530 Subject: [PATCH] fix(ssh): make `SSHKeyManager.keyExists` infallible --- .../main/kotlin/app/passwordstore/ssh/SSHKeyManager.kt | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/ssh/src/main/kotlin/app/passwordstore/ssh/SSHKeyManager.kt b/ssh/src/main/kotlin/app/passwordstore/ssh/SSHKeyManager.kt index ad435f983..f30249c1d 100644 --- a/ssh/src/main/kotlin/app/passwordstore/ssh/SSHKeyManager.kt +++ b/ssh/src/main/kotlin/app/passwordstore/ssh/SSHKeyManager.kt @@ -25,6 +25,7 @@ import app.passwordstore.ssh.writer.ED25519KeyWriter import app.passwordstore.ssh.writer.ImportedKeyWriter import app.passwordstore.ssh.writer.KeystoreNativeKeyWriter import com.github.michaelbull.result.getOrElse +import com.github.michaelbull.result.mapBoth import com.github.michaelbull.result.runCatching import java.io.File import java.io.IOException @@ -65,12 +66,7 @@ public class SSHKeyManager(private val applicationContext: Context) { } public fun keyExists(): Boolean { - return try { - keyType() - true - } catch (e: IllegalStateException) { - false - } + return runCatching { keyType() }.mapBoth(success = { true }, failure = { false }) } public fun canShowPublicKey(): Boolean =