diff --git a/src/androidTest/java/de/dennisguse/opentracks/chart/ChartValueSeriesTest.java b/src/androidTest/java/de/dennisguse/opentracks/chart/ChartValueSeriesTest.java index db9fb2dea..fbc852cde 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/chart/ChartValueSeriesTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/chart/ChartValueSeriesTest.java @@ -52,7 +52,7 @@ public class ChartValueSeriesTest { 15, 18) { @Override - double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { + Double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { return chartPoint.getAltitude(); } diff --git a/src/androidTest/java/de/dennisguse/opentracks/fragments/ChartFragmentTest.java b/src/androidTest/java/de/dennisguse/opentracks/fragments/ChartFragmentTest.java index 503b93f88..9bdf01a7a 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/fragments/ChartFragmentTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/fragments/ChartFragmentTest.java @@ -39,6 +39,7 @@ import de.dennisguse.opentracks.content.data.TrackPoint; import de.dennisguse.opentracks.util.UnitConversions; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; /** * Tests {@link ChartFragment}. @@ -83,9 +84,9 @@ public class ChartFragmentTest { ChartPoint point = chartFragment.createPendingPoint(trackPoint); // then - assertEquals(Float.NaN, point.getHeartRate(), 0.01); - assertEquals(Float.NaN, point.getCadence(), 0.01); - assertEquals(Float.NaN, point.getPower(), 0.01); + assertNull(point.getHeartRate()); + assertNull(point.getCadence()); + assertNull(point.getPower()); } /** diff --git a/src/main/java/de/dennisguse/opentracks/chart/ChartPoint.java b/src/main/java/de/dennisguse/opentracks/chart/ChartPoint.java index dbd3f50cc..7357b1446 100644 --- a/src/main/java/de/dennisguse/opentracks/chart/ChartPoint.java +++ b/src/main/java/de/dennisguse/opentracks/chart/ChartPoint.java @@ -14,11 +14,11 @@ public class ChartPoint { //Y-axis private double altitude; - private double speed; - private double pace; - private double heartRate = Double.NaN; - private double cadence = Double.NaN; - private double power = Double.NaN; + private Double speed; + private Double pace; + private Double heartRate; + private Double cadence; + private Double power; @VisibleForTesting ChartPoint(double altitude) { @@ -43,13 +43,13 @@ public class ChartPoint { pace = trackStatisticsUpdater.getSmoothedSpeed().toPace(metricUnits).toMillis() * UnitConversions.MS_TO_S * UnitConversions.S_TO_MIN; if (trackPoint != null) { if (trackPoint.hasHeartRate()) { - heartRate = trackPoint.getHeartRate_bpm(); + heartRate = (double) trackPoint.getHeartRate_bpm(); } if (trackPoint.hasCyclingCadence()) { - cadence = trackPoint.getCyclingCadence_rpm(); + cadence = (double) trackPoint.getCyclingCadence_rpm(); } if (trackPoint.hasPower()) { - power = trackPoint.getPower(); + power = (double) trackPoint.getPower(); } } } @@ -58,39 +58,27 @@ public class ChartPoint { return timeOrDistance; } - public double getAltitude() { + public Double getAltitude() { return altitude; } - public double getSpeed() { + public Double getSpeed() { return speed; } - public double getPace() { + public Double getPace() { return pace; } - public boolean hasHeartRate() { - return Double.isNaN(heartRate); - } - - public double getHeartRate() { + public Double getHeartRate() { return heartRate; } - public boolean hasCadence() { - return Double.isNaN(cadence); - } - - public double getCadence() { + public Double getCadence() { return cadence; } - public boolean hasPower() { - return Double.isNaN(power); - } - - public double getPower() { + public Double getPower() { return power; } } diff --git a/src/main/java/de/dennisguse/opentracks/chart/ChartValueSeries.java b/src/main/java/de/dennisguse/opentracks/chart/ChartValueSeries.java index 7075e8079..ab29f7887 100644 --- a/src/main/java/de/dennisguse/opentracks/chart/ChartValueSeries.java +++ b/src/main/java/de/dennisguse/opentracks/chart/ChartValueSeries.java @@ -132,10 +132,10 @@ abstract class ChartValueSeries { } } - abstract double extractDataFromChartPoint(@NonNull ChartPoint chartPoint); + abstract Double extractDataFromChartPoint(@NonNull ChartPoint chartPoint); boolean isChartPointValid(@NonNull ChartPoint chartPoint) { - return !Double.isNaN(extractDataFromChartPoint(chartPoint)); + return extractDataFromChartPoint(chartPoint) != null; } protected abstract boolean drawIfChartPointHasNoData(); diff --git a/src/main/java/de/dennisguse/opentracks/chart/ChartView.java b/src/main/java/de/dennisguse/opentracks/chart/ChartView.java index 6f6ddb535..d907cbe60 100644 --- a/src/main/java/de/dennisguse/opentracks/chart/ChartView.java +++ b/src/main/java/de/dennisguse/opentracks/chart/ChartView.java @@ -206,7 +206,7 @@ public class ChartView extends View { fontSizeSmall, fontSizeMedium) { @Override - protected double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { + protected Double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { return chartPoint.getAltitude(); } @@ -227,7 +227,7 @@ public class ChartView extends View { fontSizeSmall, fontSizeMedium) { @Override - protected double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { + protected Double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { return chartPoint.getSpeed(); } @@ -249,7 +249,7 @@ public class ChartView extends View { fontSizeSmall, fontSizeMedium) { @Override - protected double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { + protected Double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { return chartPoint.getPace(); } @@ -271,7 +271,7 @@ public class ChartView extends View { fontSizeSmall, fontSizeMedium) { @Override - protected double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { + protected Double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { return chartPoint.getHeartRate(); } @@ -292,7 +292,7 @@ public class ChartView extends View { fontSizeSmall, fontSizeMedium) { @Override - protected double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { + protected Double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { return chartPoint.getCadence(); } @@ -312,7 +312,7 @@ public class ChartView extends View { fontSizeSmall, fontSizeMedium) { @Override - protected double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { + protected Double extractDataFromChartPoint(@NonNull ChartPoint chartPoint) { return chartPoint.getPower(); }