mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Chart: use min/100m unit for swim workout for speed
This commit is contained in:
+4
-1
@@ -1,5 +1,6 @@
|
||||
package nodomain.freeyourgadget.gadgetbridge.activities.charts;
|
||||
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_SECONDS_PER_100_METERS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_SECONDS_PER_KM;
|
||||
|
||||
import com.github.mikephil.charting.formatter.ValueFormatter;
|
||||
@@ -17,7 +18,9 @@ public class SpeedYLabelFormatter extends ValueFormatter {
|
||||
|
||||
@Override
|
||||
public String getFormattedValue(float value) {
|
||||
if (unit.equals(UNIT_SECONDS_PER_KM)) {
|
||||
if(unit.equals(UNIT_SECONDS_PER_100_METERS)) {
|
||||
value = value > 0 ? Math.round(100.0 / value) : 0;
|
||||
} else if (unit.equals(UNIT_SECONDS_PER_KM)) {
|
||||
value = value > 0 ? Math.round((60 / (value * 3.6)) * 60) : 0;
|
||||
}
|
||||
return workoutValueFormatter.formatValue(value, unit, false);
|
||||
|
||||
+6
-4
@@ -6,6 +6,8 @@ import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_LB;
|
||||
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_MINUTES_PER_100_METERS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_MINUTES_PER_100_YARDS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_MINUTES_PER_KM;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_MM;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_SECONDS_PER_100_METERS;
|
||||
@@ -155,19 +157,19 @@ public class WorkoutValueFormatter {
|
||||
case UNIT_SECONDS_PER_100_METERS:
|
||||
if (units.equals(UNIT_IMPERIAL)) {
|
||||
value = (value * 0.9144) / 60D;
|
||||
unit = "minutes_100yd";
|
||||
unit = UNIT_MINUTES_PER_100_YARDS;
|
||||
} else { //metric
|
||||
value = value / 60D;
|
||||
unit = "minutes_100m";
|
||||
unit = UNIT_MINUTES_PER_100_METERS;
|
||||
}
|
||||
break;
|
||||
case UNIT_SECONDS_PER_100_YARDS:
|
||||
if (units.equals(UNIT_IMPERIAL)) {
|
||||
value = value / 60D;
|
||||
unit = "minutes_100yd";
|
||||
unit = UNIT_MINUTES_PER_100_YARDS;
|
||||
} else { //metric
|
||||
value = (value * 1.0936133D) / 60D;
|
||||
unit = "minutes_100m";
|
||||
unit = UNIT_MINUTES_PER_100_METERS;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
+14
-1
@@ -4,7 +4,9 @@ import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_KMPH;
|
||||
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_MINUTES_PER_100_METERS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_MINUTES_PER_KM;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_SECONDS_PER_100_METERS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_SECONDS_PER_KM;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_SPM;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_WATT;
|
||||
@@ -149,7 +151,18 @@ public class DefaultWorkoutCharts {
|
||||
private static WorkoutChart createSpeedChart(final Context context,
|
||||
final ActivityKind activityKind,
|
||||
final List<Entry> speedDataPoints) {
|
||||
if (ActivityKind.isPaceActivity(activityKind)) {
|
||||
if (ActivityKind.isSwimActivity(activityKind)) {
|
||||
final String label = String.format("%s (%s)", context.getString(R.string.Pace), getUnitString(context, UNIT_MINUTES_PER_100_METERS));
|
||||
final LineDataSet dataset = createLineDataSet(context, speedDataPoints, label, ContextCompat.getColor(context, R.color.chart_line_speed));
|
||||
return new WorkoutChart(
|
||||
"pace",
|
||||
context.getString(R.string.Pace),
|
||||
ActivitySummaryEntries.GROUP_SPEED,
|
||||
new LineData(dataset),
|
||||
new SpeedYLabelFormatter(UNIT_SECONDS_PER_100_METERS),
|
||||
getUnitString(context, UNIT_MINUTES_PER_100_METERS)
|
||||
);
|
||||
} else if (ActivityKind.isPaceActivity(activityKind)) {
|
||||
final String label = String.format("%s (%s)", context.getString(R.string.Pace), getUnitString(context, UNIT_MINUTES_PER_KM));
|
||||
final LineDataSet dataset = createLineDataSet(context, speedDataPoints, label, ContextCompat.getColor(context, R.color.chart_line_speed));
|
||||
return new WorkoutChart(
|
||||
|
||||
Reference in New Issue
Block a user