From 69513bf24613d4ba540bcdeaffe04dc9330a65a4 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 22 Sep 2024 23:45:14 +0530 Subject: refactor: use `Closeable#use` extension where applicable --- .../java/app/passwordstore/util/services/PasswordExportService.kt | 5 +---- .../main/kotlin/app/passwordstore/crypto/PGPainlessCryptoHandler.kt | 6 ++---- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/app/passwordstore/util/services/PasswordExportService.kt b/app/src/main/java/app/passwordstore/util/services/PasswordExportService.kt index 854071f2..c74c3f0e 100644 --- a/app/src/main/java/app/passwordstore/util/services/PasswordExportService.kt +++ b/app/src/main/java/app/passwordstore/util/services/PasswordExportService.kt @@ -89,10 +89,7 @@ class PasswordExportService : Service() { val destOutputStream = contentResolver.openOutputStream(targetPasswordFile.uri) if (destOutputStream != null && sourceInputStream != null) { - sourceInputStream.copyTo(destOutputStream, 1024) - - sourceInputStream.close() - destOutputStream.close() + sourceInputStream.use { source -> destOutputStream.use { dest -> source.copyTo(dest) } } } } } diff --git a/crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPainlessCryptoHandler.kt b/crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPainlessCryptoHandler.kt index 91826001..4a800129 100644 --- a/crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPainlessCryptoHandler.kt +++ b/crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPainlessCryptoHandler.kt @@ -65,8 +65,7 @@ public class PGPainlessCryptoHandler @Inject constructor() : .addDecryptionKeys(keyringCollection, protector) .addDecryptionPassphrase(Passphrase.fromPassword(passphrase)) ) - Streams.pipeAll(decryptionStream, outputStream) - decryptionStream.close() + decryptionStream.use { Streams.pipeAll(it, outputStream) } return@runCatching } .mapError { error -> @@ -121,8 +120,7 @@ public class PGPainlessCryptoHandler @Inject constructor() : .setAsciiArmor(options.isOptionEnabled(PGPEncryptOptions.ASCII_ARMOR)) val encryptionStream = PGPainless.encryptAndOrSign().onOutputStream(outputStream).withOptions(producerOptions) - Streams.pipeAll(plaintextStream, encryptionStream) - encryptionStream.close() + encryptionStream.use { Streams.pipeAll(plaintextStream, it) } val result = encryptionStream.result publicKeyRingCollection.forEach { keyRing -> require(result.isEncryptedFor(keyRing)) { -- cgit v1.2.3