1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-06-10 23:28:22 +02:00
Gadgetbridge/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/messages/GFDIStatusMessage.java
Daniele Gobbetti 4363f94661 Garmin protocol: initial refactoring and basic functionalities
This commit takes aims to bring many new garmin devices up to a working status, with basic functionalities such as:
- garmin protocol initialization
- basic message exchange
- support for some messages in Garmin own format
- support for some messages in protobuf format
2024-05-01 23:35:15 +01:00

29 lines
891 B
Java

package nodomain.freeyourgadget.gadgetbridge.service.devices.garmin.messages;
public abstract class GFDIStatusMessage extends GFDIMessage {
Status status;
public static GFDIStatusMessage parseIncoming(MessageReader reader, int messageType) {
final int requestMessageType = reader.readShort();
if (GarminMessage.PROTOBUF_REQUEST.getId() == requestMessageType || GarminMessage.PROTOBUF_RESPONSE.getId() == requestMessageType) {
return ProtobufStatusMessage.parseIncoming(reader, messageType);
} else {
final Status status = Status.fromCode(reader.readByte());
reader.warnIfLeftover();
return new GenericStatusMessage(messageType, status);
}
}
@Override
protected boolean generateOutgoing() {
return false;
}
protected Status getStatus() {
return status;
}
}