VoiceAnnouncementManager should close TrackPointIterator to avoid memory leaks.

This commit is contained in:
Dennis Guse
2025-10-29 21:57:22 +01:00
parent 11f1b6e72d
commit 58655814b2
@@ -149,16 +149,16 @@ public class VoiceAnnouncementManager implements SharedPreferences.OnSharedPrefe
startTrackPointId = null; startTrackPointId = null;
} }
//TODO wrap in try {} try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(track.getId(), startTrackPointId)) {
AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(track.getId(), startTrackPointId); startTrackPointId = intervalStatistics.addTrackPoints(trackPointIterator);
startTrackPointId = intervalStatistics.addTrackPoints(trackPointIterator); IntervalStatisticsUpdater.Interval lastInterval = intervalStatistics.getLastInterval();
IntervalStatisticsUpdater.Interval lastInterval = intervalStatistics.getLastInterval(); SensorStatistics sensorStatistics = null;
SensorStatistics sensorStatistics = null; if (track.getId() != null) {
if (track.getId() != null) { sensorStatistics = contentProviderUtils.getSensorStats(track.getId());
sensorStatistics = contentProviderUtils.getSensorStats(track.getId()); }
}
return VoiceAnnouncementUtils.createStatistics(context, track, sensorDataSet, PreferencesUtils.getUnitSystem(), PreferencesUtils.isReportSpeed(track), lastInterval, sensorStatistics); return VoiceAnnouncementUtils.createStatistics(context, track, sensorDataSet, PreferencesUtils.getUnitSystem(), PreferencesUtils.isReportSpeed(track), lastInterval, sensorStatistics);
}
} }
public void stop() { public void stop() {