mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2025-01-10 09:01:55 +01:00
Zepp OS: display swimming-related activity data
This commit is contained in:
parent
1d3f9b6ec1
commit
4abde0766d
@ -145,5 +145,30 @@ public class Huami2021ActivitySummaryParser extends HuamiActivitySummaryParser {
|
|||||||
addSummaryData("ascentSeconds", summaryProto.getElevation().getUphillTime(), "seconds");
|
addSummaryData("ascentSeconds", summaryProto.getElevation().getUphillTime(), "seconds");
|
||||||
addSummaryData("descentSeconds", summaryProto.getElevation().getDownhillTime(), "seconds");
|
addSummaryData("descentSeconds", summaryProto.getElevation().getDownhillTime(), "seconds");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (summaryProto.hasSwimmingData()) {
|
||||||
|
addSummaryData("laps", summaryProto.getSwimmingData().getLaps(), "laps_unit");
|
||||||
|
switch (summaryProto.getSwimmingData().getLaneLengthUnit()) {
|
||||||
|
case 0:
|
||||||
|
addSummaryData("laneLength", summaryProto.getSwimmingData().getLaneLength(), "meters");
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
addSummaryData("laneLength", summaryProto.getSwimmingData().getLaneLength(), "yard");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
switch (summaryProto.getSwimmingData().getStyle()) {
|
||||||
|
case 1:
|
||||||
|
addSummaryData("swimStyle", "breaststroke");
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
addSummaryData("swimStyle", "freestyle");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
addSummaryData("strokes", summaryProto.getSwimmingData().getStrokes(), "strokes_unit");
|
||||||
|
addSummaryData("avgStrokeRate", summaryProto.getSwimmingData().getAvgStrokeRate(), "strokes_minute");
|
||||||
|
addSummaryData("maxStrokeRate", summaryProto.getSwimmingData().getMaxStrokeRate(), "strokes_minute");
|
||||||
|
addSummaryData("averageStrokeDistance", summaryProto.getSwimmingData().getAvgDps(), "cm");
|
||||||
|
addSummaryData("swolfIndex", summaryProto.getSwimmingData().getSwolf(), "");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -153,7 +153,8 @@ public class ActivitySummaryJsonSummary {
|
|||||||
private JSONObject createActivitySummaryGroups(){
|
private JSONObject createActivitySummaryGroups(){
|
||||||
final Map<String, List<String>> groupDefinitions = new HashMap<String, List<String>>() {{
|
final Map<String, List<String>> groupDefinitions = new HashMap<String, List<String>>() {{
|
||||||
put("Strokes", Arrays.asList(
|
put("Strokes", Arrays.asList(
|
||||||
"averageStrokeDistance", "averageStrokesPerSecond", "strokes"
|
"averageStrokeDistance", "averageStrokesPerSecond", "strokes",
|
||||||
|
"avgStrokeRate", "maxStrokeRate"
|
||||||
));
|
));
|
||||||
put("Swimming", Arrays.asList(
|
put("Swimming", Arrays.asList(
|
||||||
"swolfIndex", "swimStyle"
|
"swolfIndex", "swimStyle"
|
||||||
@ -179,8 +180,8 @@ public class ActivitySummaryJsonSummary {
|
|||||||
"aerobicTrainingEffect", "anaerobicTrainingEffect", "currentWorkoutLoad",
|
"aerobicTrainingEffect", "anaerobicTrainingEffect", "currentWorkoutLoad",
|
||||||
"maximumOxygenUptake"
|
"maximumOxygenUptake"
|
||||||
));
|
));
|
||||||
put("Laps", Arrays.asList(
|
put("laps", Arrays.asList(
|
||||||
"averageLapPace", "laps"
|
"averageLapPace", "laps", "laneLength"
|
||||||
));
|
));
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@ message WorkoutSummary {
|
|||||||
Distance distance = 4;
|
Distance distance = 4;
|
||||||
Steps steps = 11;
|
Steps steps = 11;
|
||||||
Time time = 7;
|
Time time = 7;
|
||||||
|
SwimmingData swimmingData = 9;
|
||||||
Pace pace = 10;
|
Pace pace = 10;
|
||||||
Altitude altitude = 13;
|
Altitude altitude = 13;
|
||||||
HeartRate heartRate = 19;
|
HeartRate heartRate = 19;
|
||||||
@ -96,3 +97,15 @@ message TrainingEffect {
|
|||||||
int32 currentWorkoutLoad = 6;
|
int32 currentWorkoutLoad = 6;
|
||||||
int32 maximumOxygenUptake = 7; // ml/kg/min
|
int32 maximumOxygenUptake = 7; // ml/kg/min
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message SwimmingData {
|
||||||
|
uint32 style = 1; // 1: breaststroke, 2: freestyle
|
||||||
|
uint32 laps = 2;
|
||||||
|
uint32 strokes = 3;
|
||||||
|
uint32 avgDps = 4; // cm
|
||||||
|
uint32 swolf = 5;
|
||||||
|
uint32 avgStrokeRate = 6; // stroke/min
|
||||||
|
uint32 maxStrokeRate = 7; // stroke/min
|
||||||
|
uint32 laneLength = 8;
|
||||||
|
uint32 laneLengthUnit = 9; // 0: meter, 1: yard
|
||||||
|
}
|
||||||
|
@ -1691,9 +1691,13 @@
|
|||||||
<string name="minCadence">Min Cadence</string>
|
<string name="minCadence">Min Cadence</string>
|
||||||
<string name="averageStrokeDistance">Average Stroke Distance</string>
|
<string name="averageStrokeDistance">Average Stroke Distance</string>
|
||||||
<string name="averageStrokesPerSecond">Average Strokes</string>
|
<string name="averageStrokesPerSecond">Average Strokes</string>
|
||||||
|
<string name="avgStrokeRate">Average Stroke Rate</string>
|
||||||
|
<string name="maxStrokeRate">Max Stroke Rate</string>
|
||||||
|
<string name="strokes">Total Strokes</string>
|
||||||
<string name="averageLapPace">Average Lap Pace</string>
|
<string name="averageLapPace">Average Lap Pace</string>
|
||||||
<string name="swolfIndex">swolfIndex</string>
|
<string name="swolfIndex">SWOLF</string>
|
||||||
<string name="swimStyle">swimStyle</string>
|
<string name="swimStyle">Swim Style</string>
|
||||||
|
<string name="laneLength">Lane Length</string>
|
||||||
<string name="laps">Laps</string>
|
<string name="laps">Laps</string>
|
||||||
<string name="ascentSeconds">Ascending</string>
|
<string name="ascentSeconds">Ascending</string>
|
||||||
<string name="descentSeconds">Descending</string>
|
<string name="descentSeconds">Descending</string>
|
||||||
@ -1703,6 +1707,7 @@
|
|||||||
<!-- activity summary units-->
|
<!-- activity summary units-->
|
||||||
<string name="meters">m</string>
|
<string name="meters">m</string>
|
||||||
<string name="cm">cm</string>
|
<string name="cm">cm</string>
|
||||||
|
<string name="yard">yard</string>
|
||||||
<string name="ft">ft</string>
|
<string name="ft">ft</string>
|
||||||
<string name="steps_unit">steps</string>
|
<string name="steps_unit">steps</string>
|
||||||
<string name="meters_second">m/s</string>
|
<string name="meters_second">m/s</string>
|
||||||
@ -1710,6 +1715,7 @@
|
|||||||
<string name="mi_h">mi/h</string>
|
<string name="mi_h">mi/h</string>
|
||||||
<string name="minutes_mi">min/mi</string>
|
<string name="minutes_mi">min/mi</string>
|
||||||
<string name="strokes_second">str/s</string>
|
<string name="strokes_second">str/s</string>
|
||||||
|
<string name="strokes_minute">str/min</string>
|
||||||
<string name="strokes_unit">str</string>
|
<string name="strokes_unit">str</string>
|
||||||
<string name="seconds">sec</string>
|
<string name="seconds">sec</string>
|
||||||
<string name="swolf_index">swolf index</string>
|
<string name="swolf_index">swolf index</string>
|
||||||
|
Loading…
Reference in New Issue
Block a user