From 0b0b1a0d8ddcb0fb039517992c8f03a71c90061d Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Wed, 26 Nov 2025 20:07:39 +0100 Subject: [PATCH] Cleanup. --- .../opentracks/content/data/TestDataUtil.java | 3 +-- .../data/CustomContentProviderUtilsTest.java | 10 +++++----- .../opentracks/data/ContentProviderUtils.java | 6 +----- .../de/dennisguse/opentracks/data/TrackDataHub.java | 2 +- .../opentracks/io/file/exporter/CSVTrackExporter.java | 2 +- .../opentracks/io/file/exporter/GPXTrackExporter.java | 2 +- .../opentracks/io/file/exporter/KMLTrackExporter.java | 2 +- .../announcement/VoiceAnnouncementManager.java | 2 +- .../ui/intervals/IntervalStatisticsModel.java | 2 +- 9 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/androidTest/java/de/dennisguse/opentracks/content/data/TestDataUtil.java b/src/androidTest/java/de/dennisguse/opentracks/content/data/TestDataUtil.java index d687130a8..c8f92bea3 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/content/data/TestDataUtil.java +++ b/src/androidTest/java/de/dennisguse/opentracks/content/data/TestDataUtil.java @@ -6,7 +6,6 @@ import android.util.Pair; import java.io.File; import java.io.IOException; -import java.time.Duration; import java.time.Instant; import java.util.ArrayList; import java.util.List; @@ -151,7 +150,7 @@ public class TestDataUtil { } public static List getTrackPoints(ContentProviderUtils contentProviderUtils, Track.Id trackId) { - try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) { + try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointIterator(trackId, null)) { ArrayList trackPoints = new ArrayList<>(); while (trackPointIterator.hasNext()) { trackPoints.add(trackPointIterator.next()); diff --git a/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java b/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java index 4d3a96ef3..f84b41204 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java @@ -117,7 +117,7 @@ public class CustomContentProviderUtilsTest { private void testIterator(Track.Id trackId, int numPoints) { TrackPoint.Id lastPointId = initializeTrack(trackId, numPoints); List locations = new ArrayList<>(numPoints); - try (AutoCloseableIterator it = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) { + try (AutoCloseableIterator it = contentProviderUtils.getTrackPointIterator(trackId, null)) { while (it.hasNext()) { TrackPoint trackPoint = it.next(); assertNotNull(trackPoint); @@ -155,7 +155,7 @@ public class CustomContentProviderUtilsTest { // Load all inserted trackPoints. TrackPoint.Id lastPointId = null; int counter = 0; - try (AutoCloseableIterator it = contentProviderUtils.getTrackPointLocationIterator(id, null)) { + try (AutoCloseableIterator it = contentProviderUtils.getTrackPointIterator(id, null)) { while (it.hasNext()) { TrackPoint trackPoint = it.next(); lastPointId = trackPoint.getId(); @@ -831,7 +831,7 @@ public class CustomContentProviderUtilsTest { } @Test - public void testGetTrackPointLocationIterator_asc() { + public void testGetTrackPointIterator_asc() { // given Track.Id trackId = new Track.Id(System.currentTimeMillis()); Pair> track = TestDataUtil.createTrack(trackId, 10); @@ -844,7 +844,7 @@ public class CustomContentProviderUtilsTest { TrackPoint.Id startTrackPointId = trackpointIds.get(0); // when - AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, trackpointIds.get(0)); + AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointIterator(trackId, trackpointIds.get(0)); // then for (int i = 0; i < trackpointIds.size(); i++) { @@ -1211,7 +1211,7 @@ public class CustomContentProviderUtilsTest { } private TrackPoint getLastValidTrackPoint(Track.Id trackId) { - try (AutoCloseableIterator trackPointsCursor = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) { + try (AutoCloseableIterator trackPointsCursor = contentProviderUtils.getTrackPointIterator(trackId, null)) { List trackpoints = new ArrayList<>(); while (trackPointsCursor.hasNext()) trackpoints.add(trackPointsCursor.next()); diff --git a/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java b/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java index c4bd431eb..a7e0367f1 100644 --- a/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java +++ b/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java @@ -33,7 +33,6 @@ import java.time.Instant; import java.time.ZoneOffset; import java.util.ArrayList; import java.util.Collections; -import java.util.Iterator; import java.util.List; import java.util.UUID; @@ -727,15 +726,12 @@ public class ContentProviderUtils { /** * Creates a new read-only iterator over a given track's points. - * It provides a lightweight way of iterating over long tracks without failing due to the underlying cursor limitations. - * Since it's a read-only iterator, {@link Iterator#remove()} always throws {@link UnsupportedOperationException}. - * Each call to {@link TrackPointIterator#next()} may advance to the next DB record. * When done with iteration, {@link TrackPointIterator#close()} must be called. * * @param trackId the track id * @param startTrackPointId the starting trackPoint id. `null` to ignore */ - public AutoCloseableIterator getTrackPointLocationIterator(final Track.Id trackId, final TrackPoint.Id startTrackPointId) { + public AutoCloseableIterator getTrackPointIterator(final Track.Id trackId, final TrackPoint.Id startTrackPointId) { return new TrackPointIterator(this, trackId, startTrackPointId); } diff --git a/src/main/java/de/dennisguse/opentracks/data/TrackDataHub.java b/src/main/java/de/dennisguse/opentracks/data/TrackDataHub.java index 8bef4195b..a2a7a15dd 100644 --- a/src/main/java/de/dennisguse/opentracks/data/TrackDataHub.java +++ b/src/main/java/de/dennisguse/opentracks/data/TrackDataHub.java @@ -327,7 +327,7 @@ public class TrackDataHub { } TrackPoint trackPoint = null; - try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(selectedTrackId, next)) { + try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointIterator(selectedTrackId, next)) { long numTotalPoints = trackPointIterator.getCount(); int samplingFrequency = 1 + (int) (numTotalPoints / targetNumPoints); diff --git a/src/main/java/de/dennisguse/opentracks/io/file/exporter/CSVTrackExporter.java b/src/main/java/de/dennisguse/opentracks/io/file/exporter/CSVTrackExporter.java index 40a7dddb1..fdeecd8db 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/exporter/CSVTrackExporter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/exporter/CSVTrackExporter.java @@ -131,7 +131,7 @@ public class CSVTrackExporter implements TrackExporter { } private void writeTrackPoints(List columns, Track track) throws InterruptedException { - try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(track.getId(), null)) { + try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointIterator(track.getId(), null)) { while (trackPointIterator.hasNext()) { if (Thread.interrupted()) throw new InterruptedException(); diff --git a/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java b/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java index 817ba0fce..f574da481 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java @@ -128,7 +128,7 @@ public class GPXTrackExporter implements TrackExporter { LinkedList sensorPoints = new LinkedList<>(); - try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(track.getId(), null)) { + try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointIterator(track.getId(), null)) { while (trackPointIterator.hasNext()) { if (Thread.interrupted()) throw new InterruptedException(); diff --git a/src/main/java/de/dennisguse/opentracks/io/file/exporter/KMLTrackExporter.java b/src/main/java/de/dennisguse/opentracks/io/file/exporter/KMLTrackExporter.java index 68b912d98..0b3e21933 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/exporter/KMLTrackExporter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/exporter/KMLTrackExporter.java @@ -162,7 +162,7 @@ public class KMLTrackExporter implements TrackExporter { boolean wroteTrack = false; boolean wroteSegment = false; - try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(track.getId(), null)) { + try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointIterator(track.getId(), null)) { while (trackPointIterator.hasNext()) { if (Thread.interrupted()) throw new InterruptedException(); diff --git a/src/main/java/de/dennisguse/opentracks/services/announcement/VoiceAnnouncementManager.java b/src/main/java/de/dennisguse/opentracks/services/announcement/VoiceAnnouncementManager.java index 21dd702fd..f6c5a7b26 100644 --- a/src/main/java/de/dennisguse/opentracks/services/announcement/VoiceAnnouncementManager.java +++ b/src/main/java/de/dennisguse/opentracks/services/announcement/VoiceAnnouncementManager.java @@ -149,7 +149,7 @@ public class VoiceAnnouncementManager implements SharedPreferences.OnSharedPrefe } //TODO Avoid reloading (some) TrackPoints just to announce the last interval. - try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(data.track().getId(), startTrackPointId)) { + try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointIterator(data.track().getId(), startTrackPointId)) { startTrackPointId = intervalStatistics.addTrackPoints(trackPointIterator); Statistics lastInterval = intervalStatistics.getLastInterval(); SensorStatistics sensorStatistics = null; diff --git a/src/main/java/de/dennisguse/opentracks/ui/intervals/IntervalStatisticsModel.java b/src/main/java/de/dennisguse/opentracks/ui/intervals/IntervalStatisticsModel.java index 13ebf67f4..c422ac249 100644 --- a/src/main/java/de/dennisguse/opentracks/ui/intervals/IntervalStatisticsModel.java +++ b/src/main/java/de/dennisguse/opentracks/ui/intervals/IntervalStatisticsModel.java @@ -93,7 +93,7 @@ public class IntervalStatisticsModel extends AndroidViewModel { private void loadIntervalStatistics(Track.Id trackId) { executor.execute(() -> { ContentProviderUtils contentProviderUtils = new ContentProviderUtils(getApplication()); - try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, lastTrackPointId)) { + try (AutoCloseableIterator trackPointIterator = contentProviderUtils.getTrackPointIterator(trackId, lastTrackPointId)) { lastTrackPointId = intervalStatistics.addTrackPoints(trackPointIterator); intervalsLiveData.postValue(intervalStatistics.getIntervalList()); }