diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java index 65f73a194..0f0727fb0 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java @@ -385,6 +385,7 @@ public class QHybridSupport extends QHybridBaseSupport { switch (uploadFileRequest.state){ case ERROR: buttonOverwriteListener.OnButtonOverwrite(false); + uploadFileRequest = null; break; case UPLOAD: for(byte[] packet : this.uploadFileRequest.packets){ diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/UploadFileRequest.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/UploadFileRequest.java index 0d638ba50..c86a18774 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/UploadFileRequest.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/UploadFileRequest.java @@ -18,12 +18,12 @@ public class UploadFileRequest extends Request { public ArrayList packets = new ArrayList<>(); public UploadFileRequest(short handle, byte[] file) { - int fileLength = file.length; + int fileLength = file.length + 4; ByteBuffer buffer = this.createBuffer(); buffer.putShort(1, handle); buffer.putInt(3, 0); - buffer.putInt(7, fileLength - 10); - buffer.putInt(11, fileLength - 10); + buffer.putInt(7, fileLength); + buffer.putInt(11, fileLength); this.data = buffer.array();