diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiCharacteristic.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiCharacteristic.java index 70a06ad35..0ce491bb4 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiCharacteristic.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiCharacteristic.java @@ -258,7 +258,7 @@ public class XiaomiCharacteristic { buf.putShort((short) 0); buf.put((byte) 0); buf.put((byte) (isEncrypted ? 1 : 0)); - buf.putShort((short) Math.round(currentSending.length / 247.0)); + buf.putShort((short) Math.max(1,Math.round(currentSending.length / 247.0))); final TransactionBuilder builder = mSupport.createTransactionBuilder("send chunked start"); builder.write(bluetoothGattCharacteristic, buf.array()); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiPlaintextSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiPlaintextSupport.java index ff668849a..422f3ec28 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiPlaintextSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiPlaintextSupport.java @@ -67,12 +67,12 @@ public class XiaomiPlaintextSupport extends XiaomiSupport { this.characteristicCommandRead.setEncrypted(false); this.characteristicCommandRead.setHandler(this::handleCommandBytes); this.characteristicCommandWrite = new XiaomiCharacteristic(this, btCharacteristicCommandWrite, authService); - this.characteristicCommandRead.setEncrypted(false); + this.characteristicCommandWrite.setEncrypted(false); this.characteristicActivityData = new XiaomiCharacteristic(this, btCharacteristicActivityData, authService); this.characteristicActivityData.setHandler(healthService.getActivityFetcher()::addChunk); - this.characteristicCommandRead.setEncrypted(false); + this.characteristicActivityData.setEncrypted(false); this.characteristicDataUpload = new XiaomiCharacteristic(this, btCharacteristicDataUpload, authService); - this.characteristicCommandRead.setEncrypted(false); + this.characteristicDataUpload.setEncrypted(false); // FIXME why is this needed? getDevice().setFirmwareVersion("...");