mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Huawei: Swim workout pace units
This commit is contained in:
+21
-1
@@ -7,6 +7,8 @@ import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_METERS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_METERS_PER_SECOND;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_MM;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_SECONDS_PER_100_METERS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_SECONDS_PER_100_YARDS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_SECONDS_PER_KM;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_SECONDS_PER_M;
|
||||
|
||||
@@ -149,12 +151,30 @@ public class WorkoutValueFormatter {
|
||||
}
|
||||
}
|
||||
break;
|
||||
case UNIT_SECONDS_PER_100_METERS:
|
||||
if (units.equals(UNIT_IMPERIAL)) {
|
||||
value = (value * 0.9144) / 60D;
|
||||
unit = "minutes_100yd";
|
||||
} else { //metric
|
||||
value = value / 60D;
|
||||
unit = "minutes_100m";
|
||||
}
|
||||
break;
|
||||
case UNIT_SECONDS_PER_100_YARDS:
|
||||
if (units.equals(UNIT_IMPERIAL)) {
|
||||
value = value / 60D;
|
||||
unit = "minutes_100yd";
|
||||
} else { //metric
|
||||
value = (value * 1.0936133D) / 60D;
|
||||
unit = "minutes_100m";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (unit.equals("seconds") && !show_raw_data) { //rather then plain seconds, show formatted duration
|
||||
return DateTimeUtils.formatDurationHoursMinutes((long) value, TimeUnit.SECONDS);
|
||||
} else if (unit.equals("minutes_km") || unit.equals("minutes_mi")) {
|
||||
} else if (unit.equals("minutes_km") || unit.equals("minutes_mi") || unit.equals("minutes_100m") || unit.equals("minutes_100yd")) {
|
||||
// Format pace
|
||||
return String.format(
|
||||
Locale.getDefault(),
|
||||
|
||||
+12
-10
@@ -216,6 +216,8 @@ public class ActivitySummaryEntries {
|
||||
public static final String UNIT_MM = "unit_millimeter";
|
||||
public static final String UNIT_WATT = "unit_watt";
|
||||
public static final String UNIT_JOULE = "unit_joule";
|
||||
public static final String UNIT_SECONDS_PER_100_METERS = "seconds_100m";
|
||||
public static final String UNIT_SECONDS_PER_100_YARDS = "seconds_100yd";
|
||||
|
||||
public static final String GROUP_PACE = "Pace";
|
||||
public static final String GROUP_ACTIVITY = "Activity";
|
||||
@@ -251,15 +253,15 @@ public class ActivitySummaryEntries {
|
||||
*/
|
||||
public static final String INTERNAL_HAS_GPS = "internal_hasGps";
|
||||
|
||||
public static final Map<String, Integer> HR_ZONES = new LinkedHashMap<String, Integer>() {{
|
||||
put(HR_ZONE_NA, 0);
|
||||
put(HR_ZONE_WARM_UP, R.color.hr_zone_warm_up_color);
|
||||
put(HR_ZONE_EASY, R.color.hr_zone_easy_color);
|
||||
put(HR_ZONE_FAT_BURN, R.color.hr_zone_easy_color);
|
||||
put(HR_ZONE_AEROBIC, R.color.hr_zone_aerobic_color);
|
||||
put(HR_ZONE_ANAEROBIC, R.color.hr_zone_threshold_color);
|
||||
put(HR_ZONE_THRESHOLD, R.color.hr_zone_threshold_color);
|
||||
put(HR_ZONE_EXTREME, R.color.hr_zone_maximum_color);
|
||||
put(HR_ZONE_MAXIMUM, R.color.hr_zone_maximum_color);
|
||||
public static final Map<String, Integer> HR_ZONES = new LinkedHashMap<>() {{
|
||||
put(HR_ZONE_NA, 0);
|
||||
put(HR_ZONE_WARM_UP, R.color.hr_zone_warm_up_color);
|
||||
put(HR_ZONE_EASY, R.color.hr_zone_easy_color);
|
||||
put(HR_ZONE_FAT_BURN, R.color.hr_zone_easy_color);
|
||||
put(HR_ZONE_AEROBIC, R.color.hr_zone_aerobic_color);
|
||||
put(HR_ZONE_ANAEROBIC, R.color.hr_zone_threshold_color);
|
||||
put(HR_ZONE_THRESHOLD, R.color.hr_zone_threshold_color);
|
||||
put(HR_ZONE_EXTREME, R.color.hr_zone_maximum_color);
|
||||
put(HR_ZONE_MAXIMUM, R.color.hr_zone_maximum_color);
|
||||
}};
|
||||
}
|
||||
|
||||
+6
-4
@@ -1074,11 +1074,13 @@ public class HuaweiWorkoutGbParser implements ActivitySummaryParser {
|
||||
if (sample.getType() != unitType)
|
||||
continue;
|
||||
|
||||
// TODO: add proper units for type == 1. imperial
|
||||
|
||||
final List<ActivitySummaryValue> columns = new LinkedList<>();
|
||||
// TODO: add proper units for type == 1. MILES
|
||||
columns.add(new ActivitySummaryValue(currentIndex++, ActivitySummaryEntries.UNIT_NONE));
|
||||
columns.add(new ActivitySummaryValue(getSwimStyle(sample.getSwimType()), ActivitySummaryEntries.UNIT_NONE));
|
||||
columns.add(new ActivitySummaryValue(sample.getDistance(), ActivitySummaryEntries.UNIT_METERS));
|
||||
String segmentDistanceUnit = sample.getType() == 1?ActivitySummaryEntries.UNIT_YARD:ActivitySummaryEntries.UNIT_METERS;
|
||||
columns.add(new ActivitySummaryValue(sample.getDistance(), segmentDistanceUnit));
|
||||
columns.add(new ActivitySummaryValue(sample.getTime(), ActivitySummaryEntries.UNIT_SECONDS));
|
||||
|
||||
|
||||
@@ -1092,11 +1094,11 @@ public class HuaweiWorkoutGbParser implements ActivitySummaryParser {
|
||||
);
|
||||
|
||||
final List<ActivitySummaryValue> columns2 = new LinkedList<>();
|
||||
// TODO: add proper units for type == 1. MILES and SECONDS PER MILE
|
||||
columns2.add(new ActivitySummaryValue("", ActivitySummaryEntries.UNIT_NONE));
|
||||
columns2.add(new ActivitySummaryValue(sample.getStrokes(), ActivitySummaryEntries.UNIT_STROKES));
|
||||
columns2.add(new ActivitySummaryValue(sample.getAvgSwolf(), ActivitySummaryEntries.UNIT_NONE));
|
||||
columns2.add(new ActivitySummaryValue(sample.getPace(), ActivitySummaryEntries.UNIT_NONE)); //TODO: seconds / 100 meters
|
||||
String segmentPaceUnit = sample.getType() == 1?ActivitySummaryEntries.UNIT_SECONDS_PER_100_YARDS:ActivitySummaryEntries.UNIT_SECONDS_PER_100_METERS;
|
||||
columns2.add(new ActivitySummaryValue(sample.getPace(), segmentPaceUnit));
|
||||
|
||||
|
||||
segmentsTable.put("segments_table_" + tableIndex++,
|
||||
|
||||
@@ -2669,6 +2669,8 @@
|
||||
<string name="km">km</string>
|
||||
<string name="mi">mi</string>
|
||||
<string name="degrees">degrees</string>
|
||||
<string name="minutes_100m">min/100m</string>
|
||||
<string name="minutes_100yd">min/100yd</string>
|
||||
<string name="Pace">Pace</string>
|
||||
<!-- activity summary groups-->
|
||||
<string name="Strokes">Strokes</string>
|
||||
|
||||
Reference in New Issue
Block a user