diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/activity/impl/DailyDetailsParser.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/activity/impl/DailyDetailsParser.java index 35d1969940..a35678b00b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/activity/impl/DailyDetailsParser.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/activity/impl/DailyDetailsParser.java @@ -39,6 +39,7 @@ import nodomain.freeyourgadget.gadgetbridge.entities.User; import nodomain.freeyourgadget.gadgetbridge.entities.XiaomiActivitySample; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.ActivitySample; +import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.service.devices.xiaomi.activity.XiaomiActivityFileId; import nodomain.freeyourgadget.gadgetbridge.service.devices.xiaomi.activity.XiaomiActivityParser; import nodomain.freeyourgadget.gadgetbridge.util.GB; @@ -85,6 +86,7 @@ public class DailyDetailsParser extends XiaomiActivityParser { timestamp.setTime(fileId.getTimestamp()); final List samples = new ArrayList<>(); + final boolean isMb9a = gbDevice.getType() == DeviceType.MIBAND9ACTIVE; while (buf.position() < buf.limit()) { complexParser.reset(); @@ -164,6 +166,10 @@ public class DailyDetailsParser extends XiaomiActivityParser { // TODO } } + if (isMb9a) { + // FIXME this is very hacky, but I can't understand why we miss 1 byte per sample on the mb9a + buf.get(); + } if (version >= 4) { // TODO: light value (short)