From 2a0c2f4d90930a5e86ba6c5b290fa7620996fba3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Sun, 21 Apr 2024 20:11:04 +0100 Subject: [PATCH] Garmin HACK: Parse messageTypes > 0x8000 --- .../service/devices/garmin/messages/GFDIMessage.java | 5 ++++- 1 file changed, 4 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 82e0c511f..422c076ab 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 @@ -46,7 +46,10 @@ 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(); + if (messageType > 0x8000) { + messageType = (messageType & 0xff) + 5000; + } try { final GarminMessage garminMessage = GarminMessage.fromId(messageType); if (garminMessage == null) {