diff --git a/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java b/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java index 48f1e26f9..94dc1238d 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java @@ -986,13 +986,13 @@ public class CustomContentProviderUtilsTest { // then assertTrue(sensorStatistics.hasHeartRate()); - assertEquals(sensorStatistics.getAvgHeartRate().getBPM(), stats.avgHr, 0f); - assertEquals(sensorStatistics.getMaxHeartRate().getBPM(), stats.maxHr, 0f); + assertEquals(sensorStatistics.avgHeartRate().getBPM(), stats.avgHr, 0f); + assertEquals(sensorStatistics.maxHeartRate().getBPM(), stats.maxHr, 0f); assertTrue(sensorStatistics.hasCadence()); - assertEquals(sensorStatistics.getAvgCadence().getRPM(), stats.avgCadence, 0f); - assertEquals(sensorStatistics.getMaxCadence().getRPM(), stats.maxCadence, 0f); + assertEquals(sensorStatistics.avgCadence().getRPM(), stats.avgCadence, 0f); + assertEquals(sensorStatistics.maxCadence().getRPM(), stats.maxCadence, 0f); assertTrue(sensorStatistics.hasPower()); - assertEquals(sensorStatistics.getAvgPower().getW(), stats.avgPower, 0f); + assertEquals(sensorStatistics.avgPower().getW(), stats.avgPower, 0f); } @Test @@ -1018,8 +1018,8 @@ public class CustomContentProviderUtilsTest { // then assertTrue(sensorStatistics.hasHeartRate()); - assertEquals(sensorStatistics.getAvgHeartRate().getBPM(), stats.avgHr, 0f); - assertEquals(sensorStatistics.getMaxHeartRate().getBPM(), stats.maxHr, 0f); + assertEquals(sensorStatistics.avgHeartRate().getBPM(), stats.avgHr, 0f); + assertEquals(sensorStatistics.maxHeartRate().getBPM(), stats.maxHr, 0f); assertFalse(sensorStatistics.hasCadence()); assertFalse(sensorStatistics.hasPower()); } @@ -1048,8 +1048,8 @@ public class CustomContentProviderUtilsTest { // then assertFalse(sensorStatistics.hasHeartRate()); assertTrue(sensorStatistics.hasCadence()); - assertEquals(sensorStatistics.getAvgCadence().getRPM(), stats.avgCadence, 0f); - assertEquals(sensorStatistics.getMaxCadence().getRPM(), stats.maxCadence, 0f); + assertEquals(sensorStatistics.avgCadence().getRPM(), stats.avgCadence, 0f); + assertEquals(sensorStatistics.maxCadence().getRPM(), stats.maxCadence, 0f); assertFalse(sensorStatistics.hasPower()); } @@ -1078,7 +1078,7 @@ public class CustomContentProviderUtilsTest { assertFalse(sensorStatistics.hasHeartRate()); assertFalse(sensorStatistics.hasCadence()); assertTrue(sensorStatistics.hasPower()); - assertEquals(sensorStatistics.getAvgPower().getW(), stats.avgPower, 0f); + assertEquals(sensorStatistics.avgPower().getW(), stats.avgPower, 0f); } @Test @@ -1111,11 +1111,11 @@ public class CustomContentProviderUtilsTest { TestSensorDataUtil.SensorDataStats stats = sensorDataUtil.computeStats(); // then - assertEquals(sensorStatistics.getAvgHeartRate().getBPM(), stats.avgHr, 0f); - assertEquals(sensorStatistics.getMaxHeartRate().getBPM(), stats.maxHr, 0f); - assertEquals(sensorStatistics.getAvgCadence().getRPM(), stats.avgCadence, 0f); - assertEquals(sensorStatistics.getMaxCadence().getRPM(), stats.maxCadence, 0f); - assertEquals(sensorStatistics.getAvgPower().getW(), stats.avgPower, 0f); + assertEquals(sensorStatistics.avgHeartRate().getBPM(), stats.avgHr, 0f); + assertEquals(sensorStatistics.maxHeartRate().getBPM(), stats.maxHr, 0f); + assertEquals(sensorStatistics.avgCadence().getRPM(), stats.avgCadence, 0f); + assertEquals(sensorStatistics.maxCadence().getRPM(), stats.maxCadence, 0f); + assertEquals(sensorStatistics.avgPower().getW(), stats.avgPower, 0f); } @Test @@ -1156,11 +1156,11 @@ public class CustomContentProviderUtilsTest { TestSensorDataUtil.SensorDataStats stats = sensorDataUtil.computeStats(); // then - assertEquals(sensorStatistics.getAvgHeartRate().getBPM(), stats.avgHr, 0f); - assertEquals(sensorStatistics.getMaxHeartRate().getBPM(), stats.maxHr, 0f); - assertEquals(sensorStatistics.getAvgCadence().getRPM(), stats.avgCadence, 0f); - assertEquals(sensorStatistics.getMaxCadence().getRPM(), stats.maxCadence, 0f); - assertEquals(sensorStatistics.getAvgPower().getW(), stats.avgPower, 0f); + assertEquals(sensorStatistics.avgHeartRate().getBPM(), stats.avgHr, 0f); + assertEquals(sensorStatistics.maxHeartRate().getBPM(), stats.maxHr, 0f); + assertEquals(sensorStatistics.avgCadence().getRPM(), stats.avgCadence, 0f); + assertEquals(sensorStatistics.maxCadence().getRPM(), stats.maxCadence, 0f); + assertEquals(sensorStatistics.avgPower().getW(), stats.avgPower, 0f); } @Test @@ -1201,11 +1201,11 @@ public class CustomContentProviderUtilsTest { TestSensorDataUtil.SensorDataStats stats = sensorDataUtil.computeStats(); // then - assertEquals(sensorStatistics.getAvgHeartRate().getBPM(), stats.avgHr, 0f); - assertEquals(sensorStatistics.getMaxHeartRate().getBPM(), stats.maxHr, 0f); - assertEquals(sensorStatistics.getAvgCadence().getRPM(), stats.avgCadence, 0f); - assertEquals(sensorStatistics.getMaxCadence().getRPM(), stats.maxCadence, 0f); - assertEquals(sensorStatistics.getAvgPower().getW(), stats.avgPower, 0f); + assertEquals(sensorStatistics.avgHeartRate().getBPM(), stats.avgHr, 0f); + assertEquals(sensorStatistics.maxHeartRate().getBPM(), stats.maxHr, 0f); + assertEquals(sensorStatistics.avgCadence().getRPM(), stats.avgCadence, 0f); + assertEquals(sensorStatistics.maxCadence().getRPM(), stats.maxCadence, 0f); + assertEquals(sensorStatistics.avgPower().getW(), stats.avgPower, 0f); } private void testGetSensorStats_randomData(int totalPoints, boolean withStartSegments) { @@ -1232,11 +1232,11 @@ public class CustomContentProviderUtilsTest { TestSensorDataUtil.SensorDataStats stats = sensorDataUtil.computeStats(); // then - assertEquals(sensorStatistics.getAvgHeartRate().getBPM(), stats.avgHr, 0.01f); - assertEquals(sensorStatistics.getMaxHeartRate().getBPM(), stats.maxHr, 0.01f); - assertEquals(sensorStatistics.getAvgCadence().getRPM(), stats.avgCadence, 0.01f); - assertEquals(sensorStatistics.getMaxCadence().getRPM(), stats.maxCadence, 0.01f); - assertEquals(sensorStatistics.getAvgPower().getW(), stats.avgPower, 0.01f); + assertEquals(sensorStatistics.avgHeartRate().getBPM(), stats.avgHr, 0.01f); + assertEquals(sensorStatistics.maxHeartRate().getBPM(), stats.maxHr, 0.01f); + assertEquals(sensorStatistics.avgCadence().getRPM(), stats.avgCadence, 0.01f); + assertEquals(sensorStatistics.maxCadence().getRPM(), stats.maxCadence, 0.01f); + assertEquals(sensorStatistics.avgPower().getW(), stats.avgPower, 0.01f); } @Test diff --git a/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordedFragment.java b/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordedFragment.java index cf6b5bba0..6118d32a6 100644 --- a/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordedFragment.java +++ b/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordedFragment.java @@ -254,24 +254,24 @@ public class StatisticsRecordedFragment extends Fragment { } if (sensorStatistics.hasHeartRate()) { - String maxBPM = String.valueOf(Math.round(sensorStatistics.getMaxHeartRate().getBPM())); - String avgBPM = String.valueOf(Math.round(sensorStatistics.getAvgHeartRate().getBPM())); + String maxBPM = String.valueOf(Math.round(sensorStatistics.maxHeartRate().getBPM())); + String avgBPM = String.valueOf(Math.round(sensorStatistics.avgHeartRate().getBPM())); viewBinding.statsHeartRateGroup.setVisibility(View.VISIBLE); viewBinding.statsMaxHeartRateValue.setText(maxBPM); viewBinding.statsAvgHeartRateValue.setText(avgBPM); } if (sensorStatistics.hasCadence()) { - String maxRPM = String.valueOf(Math.round(sensorStatistics.getMaxCadence().getRPM())); - String avgRPM = String.valueOf(Math.round(sensorStatistics.getAvgCadence().getRPM())); + String maxRPM = String.valueOf(Math.round(sensorStatistics.maxCadence().getRPM())); + String avgRPM = String.valueOf(Math.round(sensorStatistics.avgCadence().getRPM())); viewBinding.statsCadenceGroup.setVisibility(View.VISIBLE); viewBinding.statsMaxCadenceValue.setText(maxRPM); viewBinding.statsAvgCadenceValue.setText(avgRPM); } if (sensorStatistics.hasPower()) { - String maxW = String.valueOf(Math.round(sensorStatistics.getMaxPower().getW())); - String avgW = String.valueOf(Math.round(sensorStatistics.getAvgPower().getW())); + String maxW = String.valueOf(Math.round(sensorStatistics.maxPower().getW())); + String avgW = String.valueOf(Math.round(sensorStatistics.avgPower().getW())); viewBinding.statsPowerGroup.setVisibility(View.VISIBLE); viewBinding.statsMaxPowerValue.setText(maxW); diff --git a/src/main/java/de/dennisguse/opentracks/services/announcement/VoiceAnnouncementUtils.java b/src/main/java/de/dennisguse/opentracks/services/announcement/VoiceAnnouncementUtils.java index 801de5b2b..bf0de22c4 100644 --- a/src/main/java/de/dennisguse/opentracks/services/announcement/VoiceAnnouncementUtils.java +++ b/src/main/java/de/dennisguse/opentracks/services/announcement/VoiceAnnouncementUtils.java @@ -138,7 +138,7 @@ class VoiceAnnouncementUtils { } if (shouldVoiceAnnounceAverageHeartRate() && sensorStatistics != null && sensorStatistics.hasHeartRate()) { - int averageHeartRate = Math.round(sensorStatistics.getAvgHeartRate().getBPM()); + int averageHeartRate = Math.round(sensorStatistics.avgHeartRate().getBPM()); builder.append(" ") .append(context.getString(R.string.average_heart_rate)); diff --git a/src/main/java/de/dennisguse/opentracks/stats/SensorStatistics.java b/src/main/java/de/dennisguse/opentracks/stats/SensorStatistics.java index cad709fda..a1f432c2e 100644 --- a/src/main/java/de/dennisguse/opentracks/stats/SensorStatistics.java +++ b/src/main/java/de/dennisguse/opentracks/stats/SensorStatistics.java @@ -4,56 +4,24 @@ import de.dennisguse.opentracks.data.models.Cadence; import de.dennisguse.opentracks.data.models.HeartRate; import de.dennisguse.opentracks.data.models.Power; -public class SensorStatistics { - private final HeartRate maxHr; - private final HeartRate avgHr; - private final Cadence maxCadence; - private final Cadence avgCadence; - private final Power maxPower; - private final Power avgPower; - - public SensorStatistics(HeartRate maxHr, HeartRate avgHr, Cadence maxCadence, Cadence avgCadence, Power maxPower, Power avgPower) { - this.maxHr = maxHr; - this.avgHr = avgHr; - this.maxCadence = maxCadence; - this.avgCadence = avgCadence; - this.maxPower = maxPower; - this.avgPower = avgPower; - } +public record SensorStatistics( + HeartRate maxHeartRate, + HeartRate avgHeartRate, + Cadence maxCadence, + Cadence avgCadence, + Power maxPower, + Power avgPower +) { public boolean hasHeartRate() { - return avgHr != null && maxHr != null; - } - - public HeartRate getMaxHeartRate() { - return maxHr; - } - - public HeartRate getAvgHeartRate() { - return avgHr; + return avgHeartRate != null && maxHeartRate != null; } public boolean hasCadence() { return avgCadence != null && maxCadence != null; } - public Cadence getMaxCadence() { - return maxCadence; - } - - public Cadence getAvgCadence() { - return avgCadence; - } - public boolean hasPower() { return avgPower != null; } - - public Power getMaxPower() { - return maxPower; - } - - public Power getAvgPower() { - return avgPower; - } }