mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Zepp OS: Add activity type for indoor walking
This commit is contained in:
+3
-2
@@ -85,8 +85,8 @@ public class ZeppOsActivitySummaryParser extends HuamiActivitySummaryParser {
|
||||
}
|
||||
|
||||
if (summaryProto.hasType()) {
|
||||
final ZeppOsActivityType activityType = ZeppOsActivityType
|
||||
.fromCode((byte) summaryProto.getType().getType());
|
||||
final byte typeCode = (byte) summaryProto.getType().getType();
|
||||
final ZeppOsActivityType activityType = ZeppOsActivityType.fromCode(typeCode);
|
||||
|
||||
final ActivityKind activityKind;
|
||||
if (activityType != null) {
|
||||
@@ -94,6 +94,7 @@ public class ZeppOsActivitySummaryParser extends HuamiActivitySummaryParser {
|
||||
} else {
|
||||
LOG.warn("Unknown workout activity type code {}", String.format("0x%X", summaryProto.getType().getType()));
|
||||
activityKind = ActivityKind.UNKNOWN;
|
||||
summaryData.add(ACTIVITY_TYPE_CODE, typeCode, UNIT_NONE);
|
||||
}
|
||||
summary.setActivityKind(activityKind.getCode());
|
||||
}
|
||||
|
||||
+2
@@ -25,6 +25,8 @@ public class ActivitySummaryEntries {
|
||||
public static final String STATUS = "status";
|
||||
public static final String TYPE = "watchface_dialog_widget_type"; // TODO: change this?
|
||||
|
||||
public static final String ACTIVITY_TYPE_CODE = "activity_type_code";
|
||||
|
||||
public static final String TIME_START = "startTime";
|
||||
public static final String TIME_END = "endTime";
|
||||
public static final String ACTIVE_SECONDS = "activeSeconds";
|
||||
|
||||
+1
@@ -80,6 +80,7 @@ public enum ZeppOsActivityType {
|
||||
IndoorCycling(0x08, ActivityKind.INDOOR_CYCLING),
|
||||
IndoorFitness(0x18, ActivityKind.INDOOR_FITNESS),
|
||||
IndoorIceSkating(0x2d, ActivityKind.INDOOR_ICE_SKATING),
|
||||
IndoorWalking(0x28, ActivityKind.INDOOR_WALKING),
|
||||
JaiAlai(0xab, ActivityKind.JAI_ALAI),
|
||||
JazzDance(0x71, ActivityKind.JAZZ_DANCE),
|
||||
Judo(0x62, ActivityKind.JUDO),
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Date;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.BaseActivitySummary;
|
||||
import nodomain.freeyourgadget.gadgetbridge.test.TestBase;
|
||||
|
||||
public class ZeppOsActivitySummaryParserTest extends TestBase {
|
||||
@Test
|
||||
@Ignore("helper test for development, remove this while debugging")
|
||||
public void localTest() throws IOException {
|
||||
final byte[] data = Files.readAllBytes(Paths.get("/storage/activity.bin"));
|
||||
|
||||
final BaseActivitySummary summary = new BaseActivitySummary();
|
||||
summary.setRawSummaryData(data);
|
||||
summary.setStartTime(new Date());
|
||||
|
||||
final ZeppOsActivitySummaryParser parser = new ZeppOsActivitySummaryParser(getContext());
|
||||
parser.parseBinaryData(summary, summary.getStartTime(), true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user