Mi Band 9 Active: Add hack for daily activity parsing

This commit is contained in:
José Rebelo
2026-02-16 22:24:03 +00:00
parent a3e216320c
commit d621b1d8f8
@@ -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<XiaomiActivitySample> 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)