forked from upstream-mirrors/OpenTracks
Cleanup.
This commit is contained in:
@@ -6,7 +6,6 @@ import android.util.Pair;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.Duration;
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -151,7 +150,7 @@ public class TestDataUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static List<TrackPoint> getTrackPoints(ContentProviderUtils contentProviderUtils, Track.Id trackId) {
|
public static List<TrackPoint> getTrackPoints(ContentProviderUtils contentProviderUtils, Track.Id trackId) {
|
||||||
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointIterator(trackId, null)) {
|
||||||
ArrayList<TrackPoint> trackPoints = new ArrayList<>();
|
ArrayList<TrackPoint> trackPoints = new ArrayList<>();
|
||||||
while (trackPointIterator.hasNext()) {
|
while (trackPointIterator.hasNext()) {
|
||||||
trackPoints.add(trackPointIterator.next());
|
trackPoints.add(trackPointIterator.next());
|
||||||
|
|||||||
+5
-5
@@ -117,7 +117,7 @@ public class CustomContentProviderUtilsTest {
|
|||||||
private void testIterator(Track.Id trackId, int numPoints) {
|
private void testIterator(Track.Id trackId, int numPoints) {
|
||||||
TrackPoint.Id lastPointId = initializeTrack(trackId, numPoints);
|
TrackPoint.Id lastPointId = initializeTrack(trackId, numPoints);
|
||||||
List<TrackPoint> locations = new ArrayList<>(numPoints);
|
List<TrackPoint> locations = new ArrayList<>(numPoints);
|
||||||
try (AutoCloseableIterator<TrackPoint> it = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
try (AutoCloseableIterator<TrackPoint> it = contentProviderUtils.getTrackPointIterator(trackId, null)) {
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
TrackPoint trackPoint = it.next();
|
TrackPoint trackPoint = it.next();
|
||||||
assertNotNull(trackPoint);
|
assertNotNull(trackPoint);
|
||||||
@@ -155,7 +155,7 @@ public class CustomContentProviderUtilsTest {
|
|||||||
// Load all inserted trackPoints.
|
// Load all inserted trackPoints.
|
||||||
TrackPoint.Id lastPointId = null;
|
TrackPoint.Id lastPointId = null;
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
try (AutoCloseableIterator<TrackPoint> it = contentProviderUtils.getTrackPointLocationIterator(id, null)) {
|
try (AutoCloseableIterator<TrackPoint> it = contentProviderUtils.getTrackPointIterator(id, null)) {
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
TrackPoint trackPoint = it.next();
|
TrackPoint trackPoint = it.next();
|
||||||
lastPointId = trackPoint.getId();
|
lastPointId = trackPoint.getId();
|
||||||
@@ -831,7 +831,7 @@ public class CustomContentProviderUtilsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetTrackPointLocationIterator_asc() {
|
public void testGetTrackPointIterator_asc() {
|
||||||
// given
|
// given
|
||||||
Track.Id trackId = new Track.Id(System.currentTimeMillis());
|
Track.Id trackId = new Track.Id(System.currentTimeMillis());
|
||||||
Pair<Track, List<TrackPoint>> track = TestDataUtil.createTrack(trackId, 10);
|
Pair<Track, List<TrackPoint>> track = TestDataUtil.createTrack(trackId, 10);
|
||||||
@@ -844,7 +844,7 @@ public class CustomContentProviderUtilsTest {
|
|||||||
TrackPoint.Id startTrackPointId = trackpointIds.get(0);
|
TrackPoint.Id startTrackPointId = trackpointIds.get(0);
|
||||||
|
|
||||||
// when
|
// when
|
||||||
AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, trackpointIds.get(0));
|
AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointIterator(trackId, trackpointIds.get(0));
|
||||||
|
|
||||||
// then
|
// then
|
||||||
for (int i = 0; i < trackpointIds.size(); i++) {
|
for (int i = 0; i < trackpointIds.size(); i++) {
|
||||||
@@ -1211,7 +1211,7 @@ public class CustomContentProviderUtilsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private TrackPoint getLastValidTrackPoint(Track.Id trackId) {
|
private TrackPoint getLastValidTrackPoint(Track.Id trackId) {
|
||||||
try (AutoCloseableIterator<TrackPoint> trackPointsCursor = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
try (AutoCloseableIterator<TrackPoint> trackPointsCursor = contentProviderUtils.getTrackPointIterator(trackId, null)) {
|
||||||
List<TrackPoint> trackpoints = new ArrayList<>();
|
List<TrackPoint> trackpoints = new ArrayList<>();
|
||||||
while (trackPointsCursor.hasNext())
|
while (trackPointsCursor.hasNext())
|
||||||
trackpoints.add(trackPointsCursor.next());
|
trackpoints.add(trackPointsCursor.next());
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ import java.time.Instant;
|
|||||||
import java.time.ZoneOffset;
|
import java.time.ZoneOffset;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@@ -727,15 +726,12 @@ public class ContentProviderUtils {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new read-only iterator over a given track's points.
|
* 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.
|
* When done with iteration, {@link TrackPointIterator#close()} must be called.
|
||||||
*
|
*
|
||||||
* @param trackId the track id
|
* @param trackId the track id
|
||||||
* @param startTrackPointId the starting trackPoint id. `null` to ignore
|
* @param startTrackPointId the starting trackPoint id. `null` to ignore
|
||||||
*/
|
*/
|
||||||
public AutoCloseableIterator<TrackPoint> getTrackPointLocationIterator(final Track.Id trackId, final TrackPoint.Id startTrackPointId) {
|
public AutoCloseableIterator<TrackPoint> getTrackPointIterator(final Track.Id trackId, final TrackPoint.Id startTrackPointId) {
|
||||||
return new TrackPointIterator(this, trackId, startTrackPointId);
|
return new TrackPointIterator(this, trackId, startTrackPointId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -327,7 +327,7 @@ public class TrackDataHub {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TrackPoint trackPoint = null;
|
TrackPoint trackPoint = null;
|
||||||
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(selectedTrackId, next)) {
|
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointIterator(selectedTrackId, next)) {
|
||||||
long numTotalPoints = trackPointIterator.getCount();
|
long numTotalPoints = trackPointIterator.getCount();
|
||||||
int samplingFrequency = 1 + (int) (numTotalPoints / targetNumPoints);
|
int samplingFrequency = 1 + (int) (numTotalPoints / targetNumPoints);
|
||||||
|
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ public class CSVTrackExporter implements TrackExporter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void writeTrackPoints(List<Column> columns, Track track) throws InterruptedException {
|
private void writeTrackPoints(List<Column> columns, Track track) throws InterruptedException {
|
||||||
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(track.getId(), null)) {
|
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointIterator(track.getId(), null)) {
|
||||||
while (trackPointIterator.hasNext()) {
|
while (trackPointIterator.hasNext()) {
|
||||||
if (Thread.interrupted()) throw new InterruptedException();
|
if (Thread.interrupted()) throw new InterruptedException();
|
||||||
|
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ public class GPXTrackExporter implements TrackExporter {
|
|||||||
|
|
||||||
LinkedList<TrackPoint> sensorPoints = new LinkedList<>();
|
LinkedList<TrackPoint> sensorPoints = new LinkedList<>();
|
||||||
|
|
||||||
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(track.getId(), null)) {
|
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointIterator(track.getId(), null)) {
|
||||||
while (trackPointIterator.hasNext()) {
|
while (trackPointIterator.hasNext()) {
|
||||||
if (Thread.interrupted()) throw new InterruptedException();
|
if (Thread.interrupted()) throw new InterruptedException();
|
||||||
|
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ public class KMLTrackExporter implements TrackExporter {
|
|||||||
boolean wroteTrack = false;
|
boolean wroteTrack = false;
|
||||||
boolean wroteSegment = false;
|
boolean wroteSegment = false;
|
||||||
|
|
||||||
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(track.getId(), null)) {
|
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointIterator(track.getId(), null)) {
|
||||||
while (trackPointIterator.hasNext()) {
|
while (trackPointIterator.hasNext()) {
|
||||||
if (Thread.interrupted()) throw new InterruptedException();
|
if (Thread.interrupted()) throw new InterruptedException();
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -149,7 +149,7 @@ public class VoiceAnnouncementManager implements SharedPreferences.OnSharedPrefe
|
|||||||
}
|
}
|
||||||
|
|
||||||
//TODO Avoid reloading (some) TrackPoints just to announce the last interval.
|
//TODO Avoid reloading (some) TrackPoints just to announce the last interval.
|
||||||
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(data.track().getId(), startTrackPointId)) {
|
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointIterator(data.track().getId(), startTrackPointId)) {
|
||||||
startTrackPointId = intervalStatistics.addTrackPoints(trackPointIterator);
|
startTrackPointId = intervalStatistics.addTrackPoints(trackPointIterator);
|
||||||
Statistics lastInterval = intervalStatistics.getLastInterval();
|
Statistics lastInterval = intervalStatistics.getLastInterval();
|
||||||
SensorStatistics sensorStatistics = null;
|
SensorStatistics sensorStatistics = null;
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ public class IntervalStatisticsModel extends AndroidViewModel {
|
|||||||
private void loadIntervalStatistics(Track.Id trackId) {
|
private void loadIntervalStatistics(Track.Id trackId) {
|
||||||
executor.execute(() -> {
|
executor.execute(() -> {
|
||||||
ContentProviderUtils contentProviderUtils = new ContentProviderUtils(getApplication());
|
ContentProviderUtils contentProviderUtils = new ContentProviderUtils(getApplication());
|
||||||
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, lastTrackPointId)) {
|
try (AutoCloseableIterator<TrackPoint> trackPointIterator = contentProviderUtils.getTrackPointIterator(trackId, lastTrackPointId)) {
|
||||||
lastTrackPointId = intervalStatistics.addTrackPoints(trackPointIterator);
|
lastTrackPointId = intervalStatistics.addTrackPoints(trackPointIterator);
|
||||||
intervalsLiveData.postValue(intervalStatistics.getIntervalList());
|
intervalsLiveData.postValue(intervalStatistics.getIntervalList());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user