From 2431d60171811dedc840e61554d4b6d4010a1fb9 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Sat, 6 Mar 2021 17:35:13 +0100 Subject: [PATCH] Cleanup. --- .../opentracks/content/data/TestDataUtil.java | 10 ++++++++++ .../CustomContentProviderUtilsTest.java | 4 ++-- .../io/file/importer/ExportImportTest.java | 6 +++--- .../io/file/importer/LegacyImportTest.java | 5 +++-- .../services/TrackRecordingServiceTest.java | 17 +++++++++-------- .../TrackRecordingServiceTestLocation.java | 13 +++++++------ .../content/provider/ContentProviderUtils.java | 17 ----------------- .../content/provider/TrackPointIterator.java | 6 ++++++ 8 files changed, 40 insertions(+), 38 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 11416ad6b..9e49fe8c1 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/content/data/TestDataUtil.java +++ b/src/androidTest/java/de/dennisguse/opentracks/content/data/TestDataUtil.java @@ -11,6 +11,7 @@ import java.util.ArrayList; import java.util.List; import de.dennisguse.opentracks.content.provider.ContentProviderUtils; +import de.dennisguse.opentracks.content.provider.TrackPointIterator; import de.dennisguse.opentracks.util.FileUtils; public class TestDataUtil { @@ -150,4 +151,13 @@ public class TestDataUtil { return new Marker("Marker name", "Marker description", "Marker category", "", trackId, 0.0, 0, trackPoint, photoUrl); } + + public static List getTrackPoints(ContentProviderUtils contentProviderUtils, Track.Id trackId) { + TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null); + ArrayList trackPoints = new ArrayList<>(); + while (trackPointIterator.hasNext()) { + trackPoints.add(trackPointIterator.next()); + } + return trackPoints; + } } diff --git a/src/androidTest/java/de/dennisguse/opentracks/content/provider/CustomContentProviderUtilsTest.java b/src/androidTest/java/de/dennisguse/opentracks/content/provider/CustomContentProviderUtilsTest.java index cdbdb597d..345048207 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/content/provider/CustomContentProviderUtilsTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/content/provider/CustomContentProviderUtilsTest.java @@ -822,7 +822,7 @@ public class CustomContentProviderUtilsTest { Track track = TestDataUtil.createTrackAndInsert(contentProviderUtils, trackId, 10); contentProviderUtils.insertTrackPoint(TestDataUtil.createTrackPoint(22), trackId); - assertEquals(11, contentProviderUtils.getTrackPoints(trackId).size()); + assertEquals(11, contentProviderUtils.getTrackPointCursor(trackId, null).getCount()); } @Test @@ -840,7 +840,7 @@ public class CustomContentProviderUtilsTest { contentProviderUtils.insertTrackPoint(trackPoint, trackId); // then - List trackPoints = contentProviderUtils.getTrackPoints(trackId); + List trackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, trackId); assertTrue(trackPoints.get(10).hasHeartRate()); assertEquals(trackPoint.getHeartRate_bpm(), trackPoints.get(10).getHeartRate_bpm(), 0.01); assertEquals(trackPoint.getCyclingCadence_rpm(), trackPoints.get(10).getCyclingCadence_rpm(), 0.01); diff --git a/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/ExportImportTest.java b/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/ExportImportTest.java index 1b1db95e3..66128021a 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/ExportImportTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/ExportImportTest.java @@ -32,6 +32,7 @@ import java.util.stream.Collectors; import de.dennisguse.opentracks.R; import de.dennisguse.opentracks.content.data.Marker; +import de.dennisguse.opentracks.content.data.TestDataUtil; import de.dennisguse.opentracks.content.data.Track; import de.dennisguse.opentracks.content.data.TrackPoint; import de.dennisguse.opentracks.content.provider.ContentProviderUtils; @@ -111,7 +112,7 @@ public class ExportImportTest { contentProviderUtils.updateTrack(track); track = contentProviderUtils.getTrack(trackId); - trackPoints = contentProviderUtils.getTrackPoints(trackId); + trackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, trackId); markers = contentProviderUtils.getMarkers(trackId); assertEquals(10, trackPoints.size()); assertEquals(2, markers.size()); @@ -325,8 +326,7 @@ public class ExportImportTest { } private void assertTrackpoints(List trackPoints, boolean verifyPower, boolean verifyHeartrate, boolean verifyCadence, boolean verifyElevationGain, boolean verifyElevationLoss, boolean verifyDistance) { - List importedTrackPoints = contentProviderUtils.getTrackPoints(importTrackId); - + List importedTrackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, importTrackId); assertEquals(trackPoints.size(), importedTrackPoints.size()); for (int i = 0; i < trackPoints.size(); i++) { diff --git a/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/LegacyImportTest.java b/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/LegacyImportTest.java index a863fe02d..95471be3e 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/LegacyImportTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/LegacyImportTest.java @@ -14,6 +14,7 @@ import org.junit.runners.JUnit4; import java.io.InputStream; import java.util.List; +import de.dennisguse.opentracks.content.data.TestDataUtil; import de.dennisguse.opentracks.content.data.Track; import de.dennisguse.opentracks.content.data.TrackPoint; import de.dennisguse.opentracks.content.provider.ContentProviderUtils; @@ -69,7 +70,7 @@ public class LegacyImportTest { assertEquals(0, contentProviderUtils.getMarkerCount(importTrackId)); // 3. trackpoints - List importedTrackPoints = contentProviderUtils.getTrackPoints(importTrackId); + List importedTrackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, importTrackId); assertEquals(6, importedTrackPoints.size()); // first 3 trackpoints @@ -122,7 +123,7 @@ public class LegacyImportTest { assertEquals("UNKNOWN", importedTrack.getIcon()); // 3. trackpoints - List importedTrackPoints = contentProviderUtils.getTrackPoints(importTrackId); + List importedTrackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, importTrackId); assertEquals(6, importedTrackPoints.size()); // first segment diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java index cbecfdd5a..5e3596cc1 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java @@ -45,6 +45,7 @@ import java.util.concurrent.TimeoutException; import de.dennisguse.opentracks.R; import de.dennisguse.opentracks.content.data.Marker; +import de.dennisguse.opentracks.content.data.TestDataUtil; import de.dennisguse.opentracks.content.data.Track; import de.dennisguse.opentracks.content.data.TrackPoint; import de.dennisguse.opentracks.content.provider.ContentProviderUtils; @@ -191,7 +192,7 @@ public class TrackRecordingServiceTest { Track.Id trackId = service.startNewTrack(); // then - List trackPoints = contentProviderUtils.getTrackPoints(trackId); + List trackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, trackId); assertEquals(1, trackPoints.size()); assertEquals(TrackPoint.Type.SEGMENT_START_MANUAL, trackPoints.get(0).getType()); @@ -208,7 +209,7 @@ public class TrackRecordingServiceTest { service.endCurrentTrack(); // then - List trackPoints = contentProviderUtils.getTrackPoints(trackId); + List trackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, trackId); assertEquals(2, trackPoints.size()); assertEquals(TrackPoint.Type.SEGMENT_START_MANUAL, trackPoints.get(0).getType()); @@ -226,7 +227,7 @@ public class TrackRecordingServiceTest { service.pauseCurrentTrack(); // then - assertEquals(2, contentProviderUtils.getTrackPoints(trackId).size()); + assertEquals(2, contentProviderUtils.getTrackPointCursor(trackId, null).getCount()); //when service.resumeTrack(trackId); @@ -235,7 +236,7 @@ public class TrackRecordingServiceTest { assertTrue(service.isRecording()); assertEquals(trackId, service.getRecordingTrackId()); - List trackPoints = contentProviderUtils.getTrackPoints(trackId); + List trackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, trackId); assertEquals(3, trackPoints.size()); assertEquals(TrackPoint.Type.SEGMENT_START_MANUAL, trackPoints.get(0).getType()); assertEquals(TrackPoint.Type.SEGMENT_END_MANUAL, trackPoints.get(1).getType()); @@ -251,7 +252,7 @@ public class TrackRecordingServiceTest { assertTrue(service.isRecording()); service.endCurrentTrack(); - assertEquals(2, contentProviderUtils.getTrackPoints(trackId).size()); + assertEquals(2, contentProviderUtils.getTrackPointCursor(trackId, null).getCount()); // when service.resumeTrack(trackId); @@ -261,7 +262,7 @@ public class TrackRecordingServiceTest { assertTrue(service.isRecording()); assertEquals(trackId, service.getRecordingTrackId()); - List trackPoints = contentProviderUtils.getTrackPoints(trackId); + List trackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, trackId); assertEquals(4, trackPoints.size()); assertEquals(TrackPoint.Type.SEGMENT_START_MANUAL, trackPoints.get(0).getType()); assertEquals(TrackPoint.Type.SEGMENT_END_MANUAL, trackPoints.get(1).getType()); @@ -278,7 +279,7 @@ public class TrackRecordingServiceTest { assertTrue(service.isRecording()); service.pauseCurrentTrack(); - assertEquals(2, contentProviderUtils.getTrackPoints(trackId).size()); + assertEquals(2, contentProviderUtils.getTrackPointCursor(trackId, null).getCount()); // when service.endCurrentTrack(); @@ -287,7 +288,7 @@ public class TrackRecordingServiceTest { assertFalse(service.isRecording()); assertNull(service.getRecordingTrackId()); - List trackPoints = contentProviderUtils.getTrackPoints(trackId); + List trackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, trackId); assertEquals(2, trackPoints.size()); assertEquals(TrackPoint.Type.SEGMENT_START_MANUAL, trackPoints.get(0).getType()); assertEquals(TrackPoint.Type.SEGMENT_END_MANUAL, trackPoints.get(1).getType()); diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLocation.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLocation.java index dff66de11..3262dfc90 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLocation.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLocation.java @@ -23,6 +23,7 @@ import java.util.List; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import de.dennisguse.opentracks.content.data.TestDataUtil; import de.dennisguse.opentracks.content.data.Track; import de.dennisguse.opentracks.content.data.TrackPoint; import de.dennisguse.opentracks.content.provider.ContentProviderUtils; @@ -104,7 +105,7 @@ public class TrackRecordingServiceTestLocation { // then assertFalse(service.isRecording()); - List trackPoints = contentProviderUtils.getTrackPoints(trackId); + List trackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, trackId); assertEquals(8, trackPoints.size()); assertTrackPoints(List.of( new Pair<>(TrackPoint.Type.SEGMENT_START_MANUAL, null), @@ -138,7 +139,7 @@ public class TrackRecordingServiceTestLocation { // then assertFalse(service.isRecording()); - List trackPoints = contentProviderUtils.getTrackPoints(trackId); + List trackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, trackId); assertEquals(4, trackPoints.size()); assertTrackPoints(List.of( new Pair<>(TrackPoint.Type.SEGMENT_START_MANUAL, null), @@ -185,7 +186,7 @@ public class TrackRecordingServiceTestLocation { // then assertFalse(service.isRecording()); - List trackPoints = contentProviderUtils.getTrackPoints(trackId); + List trackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, trackId); assertTrackPoints(List.of( new Pair<>(TrackPoint.Type.SEGMENT_START_MANUAL, null), new Pair<>(TrackPoint.Type.TRACKPOINT, 1), @@ -214,7 +215,7 @@ public class TrackRecordingServiceTestLocation { // then assertFalse(service.isRecording()); - List trackPoints = contentProviderUtils.getTrackPoints(trackId); + List trackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, trackId); assertEquals(6, trackPoints.size()); assertTrackPoints(List.of( new Pair<>(TrackPoint.Type.SEGMENT_START_MANUAL, null), @@ -260,7 +261,7 @@ public class TrackRecordingServiceTestLocation { // then assertFalse(service.isRecording()); - List trackPoints = contentProviderUtils.getTrackPoints(trackId); + List trackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, trackId); assertEquals(8, trackPoints.size()); assertTrackPoints(List.of( new Pair<>(TrackPoint.Type.SEGMENT_START_MANUAL, null), @@ -292,7 +293,7 @@ public class TrackRecordingServiceTestLocation { // then assertFalse(service.isRecording()); - List trackPoints = contentProviderUtils.getTrackPoints(trackId); + List trackPoints = TestDataUtil.getTrackPoints(contentProviderUtils, trackId); assertEquals(7, trackPoints.size()); assertTrackPoints(List.of( new Pair<>(TrackPoint.Type.SEGMENT_START_MANUAL, null), diff --git a/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java b/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java index 6aee55218..7df2d9198 100644 --- a/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java +++ b/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java @@ -758,23 +758,6 @@ public class ContentProviderUtils { return contentResolver.query(TrackPointsColumns.CONTENT_URI_BY_ID, projection, selection, selectionArgs, sortOrder); } - @Deprecated //Use TrackPointIterator instead - @VisibleForTesting - public List getTrackPoints(Track.Id trackId) { - List trackPoints; - - try (Cursor trackPointCursor = getTrackPointCursor(trackId, null)) { - trackPointCursor.moveToFirst(); - trackPoints = new ArrayList<>(trackPointCursor.getCount()); - for (int i = 0; i < trackPointCursor.getCount(); i++) { - trackPoints.add(createTrackPoint(trackPointCursor)); - trackPointCursor.moveToNext(); - } - } - - return trackPoints; - } - public static String formatIdListForUri(Track.Id... trackIds) { long[] ids = new long[trackIds.length]; for (int i = 0; i < trackIds.length; i++) { diff --git a/src/main/java/de/dennisguse/opentracks/content/provider/TrackPointIterator.java b/src/main/java/de/dennisguse/opentracks/content/provider/TrackPointIterator.java index 5584b224c..4d8595f31 100644 --- a/src/main/java/de/dennisguse/opentracks/content/provider/TrackPointIterator.java +++ b/src/main/java/de/dennisguse/opentracks/content/provider/TrackPointIterator.java @@ -3,6 +3,7 @@ package de.dennisguse.opentracks.content.provider; import android.database.Cursor; import androidx.annotation.NonNull; +import androidx.annotation.VisibleForTesting; import java.util.Iterator; import java.util.NoSuchElementException; @@ -51,6 +52,11 @@ public class TrackPointIterator implements Iterator, AutoCloseable { return ContentProviderUtils.fillTrackPoint(cursor, indexes); } + @VisibleForTesting + public int getCount() { + return cursor.getCount(); + } + @Override public void close() { if (cursor != null) {