From 7bca41ca72b4858b672bd3111f4130ddb62b98e4 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Tue, 9 Feb 2021 14:21:47 +0100 Subject: [PATCH] Standardize readAllBytes methods --- .../database/element/database/BinaryAttachment.kt | 13 +++++++++---- .../database/file/output/DatabaseOutputKDBX.kt | 4 +++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/database/BinaryAttachment.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/database/BinaryAttachment.kt index d21362b7f..9d3d5fc45 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/database/BinaryAttachment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/database/BinaryAttachment.kt @@ -25,6 +25,7 @@ import android.util.Base64 import android.util.Base64InputStream import android.util.Base64OutputStream import com.kunzisoft.keepass.database.element.Database +import com.kunzisoft.keepass.stream.readAllBytes import org.apache.commons.io.output.CountingOutputStream import java.io.* import java.util.zip.GZIPInputStream @@ -121,7 +122,7 @@ class BinaryAttachment : Parcelable { } @Throws(IOException::class) - fun compress(cipherKey: Database.LoadedKey, bufferSize: Int = DEFAULT_BUFFER_SIZE) { + fun compress(cipherKey: Database.LoadedKey) { dataFile?.let { concreteDataFile -> // To compress, create a new binary with file if (!isCompressed) { @@ -129,7 +130,9 @@ class BinaryAttachment : Parcelable { val fileBinaryCompress = File(concreteDataFile.parent, concreteDataFile.name + "_temp") getInputDataStream(cipherKey).use { inputStream -> GZIPOutputStream(buildOutputStream(fileBinaryCompress, cipherKey)).use { outputStream -> - inputStream.copyTo(outputStream, bufferSize) + inputStream.readAllBytes { buffer -> + outputStream.write(buffer) + } } } // Remove ungzip file @@ -144,14 +147,16 @@ class BinaryAttachment : Parcelable { } @Throws(IOException::class) - fun decompress(cipherKey: Database.LoadedKey, bufferSize: Int = DEFAULT_BUFFER_SIZE) { + fun decompress(cipherKey: Database.LoadedKey) { dataFile?.let { concreteDataFile -> if (isCompressed) { // Encrypt the new ungzipped temp file val fileBinaryDecompress = File(concreteDataFile.parent, concreteDataFile.name + "_temp") getUnGzipInputDataStream(cipherKey).use { inputStream -> buildOutputStream(fileBinaryDecompress, cipherKey).use { outputStream -> - inputStream.copyTo(outputStream, bufferSize) + inputStream.readAllBytes { buffer -> + outputStream.write(buffer) + } } } // Remove gzip file diff --git a/app/src/main/java/com/kunzisoft/keepass/database/file/output/DatabaseOutputKDBX.kt b/app/src/main/java/com/kunzisoft/keepass/database/file/output/DatabaseOutputKDBX.kt index 4ca77a42a..27a98c388 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/file/output/DatabaseOutputKDBX.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/file/output/DatabaseOutputKDBX.kt @@ -155,7 +155,9 @@ class DatabaseOutputKDBX(private val mDatabaseKDBX: DatabaseKDBX, dataOutputStream.writeByte(flag) protectedBinary.getInputDataStream(binaryCipherKey).use { inputStream -> - inputStream.copyTo(dataOutputStream) + inputStream.readAllBytes { buffer -> + dataOutputStream.write(buffer) + } } }