Cleanup: SensorStatistics is a record.

This commit is contained in:
Dennis Guse
2023-09-28 20:06:13 +02:00
parent 684756c264
commit cb3904ee0b
4 changed files with 46 additions and 78 deletions
@@ -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);
@@ -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));
@@ -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;
}
}