From 10e44627e14b4a69afcfab50b2529436efba5c46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abel=20Garci=CC=81a=20de=20Prada?= Date: Tue, 28 Sep 2021 10:58:32 +0200 Subject: [PATCH] Change last chunk size to fix a protocol exception when sending files --- .../lib/common/network/ChunkFromFileRequestBody.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/common/network/ChunkFromFileRequestBody.java b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/common/network/ChunkFromFileRequestBody.java index 40f168ea..a43b2c37 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/common/network/ChunkFromFileRequestBody.java +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/common/network/ChunkFromFileRequestBody.java @@ -86,7 +86,8 @@ public class ChunkFromFileRequestBody extends FileRequestBody { readCount = mChannel.read(mBuffer); - sink.getBuffer().write(mBuffer.array(), 0, readCount); + int bytesToWriteInBuffer = (int) Math.min(readCount, mFile.length() - mTransferred); + sink.getBuffer().write(mBuffer.array(), 0, bytesToWriteInBuffer); sink.flush(); @@ -102,14 +103,12 @@ public class ChunkFromFileRequestBody extends FileRequestBody { } } - Timber.v("Chunk with size " + mChunkSize + " written in request body"); - } catch (Exception exception) { - Timber.e(exception); + Timber.e(exception, "Transferred " + mTransferred + " bytes from a total of " + mFile.length()); } } public void setOffset(long offset) { this.mOffset = offset; } -} \ No newline at end of file +}