From c2710c32ab969afcbd7f6b0f20b0f19b80915471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Mon, 20 Jan 2025 21:04:08 +0000 Subject: [PATCH] Garmin: Fix GFDI message type if sequence number is included Should fix #4522 --- .../service/devices/garmin/messages/GFDIMessage.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/messages/GFDIMessage.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/messages/GFDIMessage.java index b1acb444c..d4c19ebf9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/messages/GFDIMessage.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/messages/GFDIMessage.java @@ -36,8 +36,12 @@ public abstract class GFDIMessage { public static GFDIMessage parseIncoming(byte[] message) { final MessageReader messageReader = new MessageReader(message); - final int messageType = messageReader.readShort(); + int messageType = messageReader.readShort(); try { + if ((messageType & 0x8000) != 0) { + // final int sequenceNumber = (messageType >> 8) & 0x7f; + messageType = (messageType & 0xff) + 5000; + } final GarminMessage garminMessage = GarminMessage.fromId(messageType); if (garminMessage == null) { LOG.warn("Unknown message type {}, message {}", messageType, message);