diff --git a/src/main/java/de/dennisguse/opentracks/content/data/Distance.java b/src/main/java/de/dennisguse/opentracks/content/data/Distance.java index bec374dc9..9fe06f1fe 100644 --- a/src/main/java/de/dennisguse/opentracks/content/data/Distance.java +++ b/src/main/java/de/dennisguse/opentracks/content/data/Distance.java @@ -20,9 +20,13 @@ public class Distance { return of(distance_mile * UnitConversions.MI_TO_M); } + public static Distance ofKilometer(double distance_km) { + return of(distance_km * UnitConversions.KM_TO_M); + } + public static Distance one(boolean metricUnit) { if (metricUnit) { - return Distance.of(1); + return Distance.ofKilometer(1); } else { return Distance.ofMile(1); } diff --git a/src/main/java/de/dennisguse/opentracks/viewmodels/IntervalStatisticsModel.java b/src/main/java/de/dennisguse/opentracks/viewmodels/IntervalStatisticsModel.java index c0b0efab8..079e19bfd 100644 --- a/src/main/java/de/dennisguse/opentracks/viewmodels/IntervalStatisticsModel.java +++ b/src/main/java/de/dennisguse/opentracks/viewmodels/IntervalStatisticsModel.java @@ -35,7 +35,7 @@ public class IntervalStatisticsModel extends AndroidViewModel { } intervalsLiveData = new MutableLiveData<>(); - distanceInterval = interval.getValue(); + distanceInterval = interval.getDistance(metricUnits); loadIntervalStatistics(); } return intervalsLiveData; @@ -73,7 +73,7 @@ public class IntervalStatisticsModel extends AndroidViewModel { interval = IntervalOption.OPTION_1; } - distanceInterval = interval.getValue(); + distanceInterval = interval.getDistance(metricUnits); loadIntervalStatistics(); } } @@ -91,19 +91,21 @@ public class IntervalStatisticsModel extends AndroidViewModel { OPTION_20(20), OPTION_50(50); - private final Distance value; + private final int multiplier; - IntervalOption(int value) { - this.value = Distance.of(value); + IntervalOption(int multiplier) { + this.multiplier = multiplier; } - public Distance getValue() { - return value; + public Distance getDistance(boolean metricUnits) { + return Distance + .one(metricUnits) + .multipliedBy(multiplier); } @Override public String toString() { - return "" + (int) value.toM(); //TODO Somehow IntervalsFragment relies on a parsable Integer. + return "" + multiplier; //TODO Somehow IntervalsFragment relies on a parsable Integer. } } }