mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-06-02 11:26:09 +02:00
7ee82e6afa
note: only weather message definition and data tested so far also enable weather support for Instinct 2S and vivomove style also cleanup some unused constants that have been migrated to new enums in GFDIMessage additionally switch to new local implementation of GarminTimeUtils with needed methods
52 lines
1.7 KiB
Java
52 lines
1.7 KiB
Java
package nodomain.freeyourgadget.gadgetbridge.service.devices.garmin.messages.status;
|
|
|
|
import androidx.annotation.Nullable;
|
|
|
|
import nodomain.freeyourgadget.gadgetbridge.service.devices.garmin.messages.MessageReader;
|
|
|
|
public class FitDataStatusMessage extends GFDIStatusMessage {
|
|
|
|
private final Status status;
|
|
private final FitDataStatusCode fitDataStatusCode;
|
|
private final int messageType;
|
|
|
|
public FitDataStatusMessage(int messageType, Status status, FitDataStatusCode fitDataStatusCode) {
|
|
this.messageType = messageType;
|
|
this.status = status;
|
|
this.fitDataStatusCode = fitDataStatusCode;
|
|
switch (fitDataStatusCode) {
|
|
case APPLIED:
|
|
LOG.info("FIT DATA RETURNED STATUS: {}", fitDataStatusCode.name());
|
|
break;
|
|
default:
|
|
LOG.warn("FIT DATA RETURNED STATUS: {}", fitDataStatusCode.name());
|
|
}
|
|
}
|
|
|
|
public static FitDataStatusMessage parseIncoming(MessageReader reader, int messageType) {
|
|
final Status status = Status.fromCode(reader.readByte());
|
|
final FitDataStatusCode fitDataStatusCode = FitDataStatusCode.fromCode(reader.readByte());
|
|
|
|
reader.warnIfLeftover();
|
|
return new FitDataStatusMessage(messageType, status, fitDataStatusCode);
|
|
}
|
|
|
|
public enum FitDataStatusCode {
|
|
APPLIED,
|
|
NO_DEFINITION,
|
|
MISMATCH,
|
|
NOT_READY,
|
|
;
|
|
|
|
@Nullable
|
|
public static FitDataStatusCode fromCode(final int code) {
|
|
for (final FitDataStatusCode fitDataStatusCode : FitDataStatusCode.values()) {
|
|
if (fitDataStatusCode.ordinal() == code) {
|
|
return fitDataStatusCode;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
}
|