diff --git a/src/androidTest/java/de/dennisguse/opentracks/content/CustomContentProviderUtilsTest.java b/src/androidTest/java/de/dennisguse/opentracks/content/CustomContentProviderUtilsTest.java index 5ae2240ba..5622b5d4a 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/content/CustomContentProviderUtilsTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/content/CustomContentProviderUtilsTest.java @@ -35,7 +35,6 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; -import de.dennisguse.opentracks.content.Waypoint.WaypointType; import de.dennisguse.opentracks.stats.TripStatistics; import static org.mockito.Mockito.when; @@ -57,7 +56,7 @@ public class CustomContentProviderUtilsTest { private static final double ALTITUDE_INTERVAL = 2.5; private Context context = ApplicationProvider.getApplicationContext(); - private ContentProviderUtils providerUtils; + private ContentProviderUtils contentProviderUtils; @Mock private Cursor cursorMock; @@ -67,8 +66,8 @@ public class CustomContentProviderUtilsTest { @Before public void setUp() { - providerUtils = new ContentProviderUtils(context); - providerUtils.deleteAllTracks(context); + contentProviderUtils = new ContentProviderUtils(context); + contentProviderUtils.deleteAllTracks(context); } @Test @@ -132,9 +131,9 @@ public class CustomContentProviderUtilsTest { private List testIterator(long trackId, int numPoints, int batchSize, boolean descending, LocationFactory locationFactory) { long lastPointId = initializeTrack(trackId, numPoints); - ((ContentProviderUtils) providerUtils).setDefaultCursorBatchSize(batchSize); + ((ContentProviderUtils) contentProviderUtils).setDefaultCursorBatchSize(batchSize); List locations = new ArrayList(numPoints); - try (LocationIterator it = providerUtils.getTrackPointLocationIterator(trackId, -1L, descending, locationFactory)) { + try (LocationIterator it = contentProviderUtils.getTrackPointLocationIterator(trackId, -1L, descending, locationFactory)) { while (it.hasNext()) { Location loc = it.next(); Assert.assertNotNull(loc); @@ -153,8 +152,8 @@ public class CustomContentProviderUtilsTest { track.setId(id); track.setName("Test: " + id); track.setNumberOfPoints(numPoints); - providerUtils.insertTrack(track); - track = providerUtils.getTrack(id); + contentProviderUtils.insertTrack(track); + track = contentProviderUtils.getTrack(id); Assert.assertNotNull(track); Location[] locations = new Location[numPoints]; @@ -166,12 +165,12 @@ public class CustomContentProviderUtilsTest { loc.setAltitude(i * 2.5); locations[i] = loc; } - providerUtils.bulkInsertTrackPoint(locations, numPoints, id); + contentProviderUtils.bulkInsertTrackPoint(locations, numPoints, id); // Load all inserted locations. long lastPointId = -1; int counter = 0; - try (LocationIterator it = providerUtils.getTrackPointLocationIterator(id, -1L, false, LocationFactory.DEFAULT_LOCATION_FACTORY)) { + try (LocationIterator it = contentProviderUtils.getTrackPointLocationIterator(id, -1L, false, LocationFactory.DEFAULT_LOCATION_FACTORY)) { while (it.hasNext()) { it.next(); lastPointId = it.getLocationId(); @@ -208,7 +207,7 @@ public class CustomContentProviderUtilsTest { String name = NAME_PREFIX + trackId; when(cursorMock.getString(columnIndex++)).thenReturn(name); - Track track = providerUtils.createTrack(cursorMock); + Track track = contentProviderUtils.createTrack(cursorMock); Assert.assertEquals(trackId, track.getId()); Assert.assertEquals(name, track.getName()); } @@ -223,7 +222,7 @@ public class CustomContentProviderUtilsTest { Track track = getTrack(trackId, 10); insertTrackWithLocations(track); Waypoint waypoint = new Waypoint(); - providerUtils.insertWaypoint(waypoint); + contentProviderUtils.insertWaypoint(waypoint); ContentResolver contentResolver = context.getContentResolver(); Cursor tracksCursor = contentResolver.query(TracksColumns.CONTENT_URI, null, null, null, TracksColumns._ID); Assert.assertEquals(1, tracksCursor.getCount()); @@ -232,7 +231,7 @@ public class CustomContentProviderUtilsTest { Cursor waypointCursor = contentResolver.query(WaypointsColumns.CONTENT_URI, null, null, null, WaypointsColumns._ID); Assert.assertEquals(1, waypointCursor.getCount()); // Delete all. - providerUtils.deleteAllTracks(context); + contentProviderUtils.deleteAllTracks(context); // Check whether all have been deleted. tracksCursor = contentResolver.query(TracksColumns.CONTENT_URI, null, null, null, TracksColumns._ID); Assert.assertEquals(0, tracksCursor.getCount()); @@ -251,13 +250,13 @@ public class CustomContentProviderUtilsTest { long trackId = System.currentTimeMillis(); Track track = getTrack(trackId, 10); - providerUtils.insertTrack(track); + contentProviderUtils.insertTrack(track); insertTrackWithLocations(getTrack(trackId + 1, 10)); insertTrackWithLocations(getTrack(trackId + 2, 10)); Waypoint waypoint = new Waypoint(); waypoint.setTrackId(trackId); - providerUtils.insertWaypoint(waypoint); + contentProviderUtils.insertWaypoint(waypoint); ContentResolver contentResolver = context.getContentResolver(); Cursor tracksCursor = contentResolver.query(TracksColumns.CONTENT_URI, null, null, null, TracksColumns._ID); @@ -267,7 +266,7 @@ public class CustomContentProviderUtilsTest { Cursor waypointCursor = contentResolver.query(WaypointsColumns.CONTENT_URI, null, null, null, WaypointsColumns._ID); Assert.assertEquals(1, waypointCursor.getCount()); // Delete one track. - providerUtils.deleteTrack(context, trackId); + contentProviderUtils.deleteTrack(context, trackId); // Check whether all data of a track has been deleted. tracksCursor = contentResolver.query(TracksColumns.CONTENT_URI, null, null, null, TracksColumns._ID); Assert.assertEquals(2, tracksCursor.getCount()); @@ -282,10 +281,10 @@ public class CustomContentProviderUtilsTest { */ @Test public void testGetAllTracks() { - int initialTrackNumber = providerUtils.getAllTracks().size(); + int initialTrackNumber = contentProviderUtils.getAllTracks().size(); long trackId = System.currentTimeMillis(); - providerUtils.insertTrack(getTrack(trackId, 0)); - List allTracks = providerUtils.getAllTracks(); + contentProviderUtils.insertTrack(getTrack(trackId, 0)); + List allTracks = contentProviderUtils.getAllTracks(); Assert.assertEquals(initialTrackNumber + 1, allTracks.size()); Assert.assertEquals(trackId, allTracks.get(allTracks.size() - 1).getId()); } @@ -296,8 +295,8 @@ public class CustomContentProviderUtilsTest { @Test public void testGetLastTrack() { long trackId = System.currentTimeMillis(); - providerUtils.insertTrack(getTrack(trackId, 0)); - Assert.assertEquals(trackId, providerUtils.getLastTrack().getId()); + contentProviderUtils.insertTrack(getTrack(trackId, 0)); + Assert.assertEquals(trackId, contentProviderUtils.getLastTrack().getId()); } /** @@ -306,8 +305,8 @@ public class CustomContentProviderUtilsTest { @Test public void testGetTrack() { long trackId = System.currentTimeMillis(); - providerUtils.insertTrack(getTrack(trackId, 0)); - Assert.assertNotNull(providerUtils.getTrack(trackId)); + contentProviderUtils.insertTrack(getTrack(trackId, 0)); + Assert.assertNotNull(contentProviderUtils.getTrack(trackId)); } /** @@ -320,11 +319,11 @@ public class CustomContentProviderUtilsTest { String nameOld = "name1"; String nameNew = "name2"; track.setName(nameOld); - providerUtils.insertTrack(track); - Assert.assertEquals(nameOld, providerUtils.getTrack(trackId).getName()); + contentProviderUtils.insertTrack(track); + Assert.assertEquals(nameOld, contentProviderUtils.getTrack(trackId).getName()); track.setName(nameNew); - providerUtils.updateTrack(track); - Assert.assertEquals(nameNew, providerUtils.getTrack(trackId).getName()); + contentProviderUtils.updateTrack(track); + Assert.assertEquals(nameNew, contentProviderUtils.getTrack(trackId).getName()); } /** @@ -334,7 +333,7 @@ public class CustomContentProviderUtilsTest { public void testCreateContentValues_waypoint() { long trackId = System.currentTimeMillis(); Track track = getTrack(trackId, 10); - providerUtils.insertTrack(track); + contentProviderUtils.insertTrack(track); // Bottom long startTime = 1000L; // AverageSpeed @@ -355,7 +354,6 @@ public class CustomContentProviderUtilsTest { // Insert at first. Waypoint waypoint = new Waypoint(); waypoint.setDescription(TEST_DESC); - waypoint.setType(WaypointType.STATISTICS); waypoint.setTripStatistics(statistics); Location location = new Location("test"); @@ -364,7 +362,7 @@ public class CustomContentProviderUtilsTest { location.setAccuracy((float) 1 / 100.0f); location.setAltitude(2.5); waypoint.setLocation(location); - providerUtils.insertWaypoint(waypoint); + contentProviderUtils.insertWaypoint(waypoint); ContentProviderUtils contentProviderUtils = new ContentProviderUtils(contentResolverMock); @@ -406,7 +404,7 @@ public class CustomContentProviderUtilsTest { long trackId = 11L; when(cursorMock.getLong(columnIndex++)).thenReturn(trackId); - Waypoint waypoint = providerUtils.createWaypoint(cursorMock); + Waypoint waypoint = contentProviderUtils.createWaypoint(cursorMock); Assert.assertEquals(id, waypoint.getId()); Assert.assertEquals(name, waypoint.getName()); Assert.assertEquals(trackId, waypoint.getTrackId()); @@ -414,50 +412,37 @@ public class CustomContentProviderUtilsTest { /** * Tests the method - * {@link ContentProviderUtils#deleteWaypoint(Context, long, DescriptionGenerator)} + * {@link ContentProviderUtils#deleteWaypoint(Context, long)} * when there is only one waypoint in the track. */ @Test public void testDeleteWaypoint_onlyOneWayPoint() { long trackId = System.currentTimeMillis(); Track track = getTrack(trackId, 10); - providerUtils.insertTrack(track); + contentProviderUtils.insertTrack(track); // Insert at first. Waypoint waypoint1 = new Waypoint(); waypoint1.setDescription(TEST_DESC); waypoint1.setTrackId(trackId); - waypoint1.setType(WaypointType.STATISTICS); - providerUtils.insertWaypoint(waypoint1); + contentProviderUtils.insertWaypoint(waypoint1); // Delete - DescriptionGenerator descriptionGenerator = new DescriptionGenerator() { + contentProviderUtils.deleteWaypoint(context, 1); - @Override - public String generateWaypointDescription(TripStatistics tripStatistics) { - return CustomContentProviderUtilsTest.MOCK_DESC; - } - - @Override - public String generateTrackDescription(Track aTrack, boolean html) { - return null; - } - }; - providerUtils.deleteWaypoint(context, 1, descriptionGenerator); - - Assert.assertNull(providerUtils.getWaypoint(1)); + Assert.assertNull(contentProviderUtils.getWaypoint(1)); } /** * Tests the method - * {@link ContentProviderUtils#deleteWaypoint(Context, long, DescriptionGenerator)} + * {@link ContentProviderUtils#deleteWaypoint(Context, long)} * when there is more than one waypoint in the track. */ @Test public void testDeleteWaypoint_hasNextWayPoint() { long trackId = System.currentTimeMillis(); Track track = getTrack(trackId, 10); - providerUtils.insertTrack(track); + contentProviderUtils.insertTrack(track); TripStatistics statistics = new TripStatistics(); statistics.setStartTime(1000L); @@ -475,39 +460,23 @@ public class CustomContentProviderUtilsTest { // Insert at first. Waypoint waypoint1 = new Waypoint(); - waypoint1.setDescription(Long.toString(trackId)); + waypoint1.setDescription(MOCK_DESC); waypoint1.setTrackId(trackId); - waypoint1.setType(WaypointType.STATISTICS); waypoint1.setTripStatistics(statistics); - long waypoint1Id = ContentUris.parseId(providerUtils.insertWaypoint(waypoint1)); + long waypoint1Id = ContentUris.parseId(contentProviderUtils.insertWaypoint(waypoint1)); Waypoint waypoint2 = new Waypoint(); waypoint2.setDescription(Long.toString(trackId)); waypoint2.setTrackId(trackId); - waypoint2.setType(WaypointType.STATISTICS); waypoint2.setTripStatistics(statistics); - long waypoint2Id = ContentUris.parseId(providerUtils.insertWaypoint(waypoint2)); - + long waypoint2Id = ContentUris.parseId(contentProviderUtils.insertWaypoint(waypoint2)); // Delete - DescriptionGenerator descriptionGenerator = new DescriptionGenerator() { - @Override - public String generateWaypointDescription(TripStatistics tripStatistics) { - return CustomContentProviderUtilsTest.MOCK_DESC; - } + Assert.assertNotNull(contentProviderUtils.getWaypoint(waypoint1Id)); + contentProviderUtils.deleteWaypoint(context, waypoint1Id); + Assert.assertNull(contentProviderUtils.getWaypoint(waypoint1Id)); - @Override - public String generateTrackDescription(Track aTrack, boolean html) { - return null; - } - }; - - Assert.assertNotNull(providerUtils.getWaypoint(waypoint1Id)); - providerUtils.deleteWaypoint(context, waypoint1Id, descriptionGenerator); - Assert.assertNull(providerUtils.getWaypoint(waypoint1Id)); - - Assert.assertEquals(CustomContentProviderUtilsTest.MOCK_DESC, providerUtils.getWaypoint(waypoint2Id) - .getDescription()); + Assert.assertEquals(MOCK_DESC, contentProviderUtils.getWaypoint(waypoint2Id).getDescription()); } /** @@ -517,78 +486,70 @@ public class CustomContentProviderUtilsTest { public void testGetFirstWaypointId() { long trackId = System.currentTimeMillis(); Track track = getTrack(trackId, 10); - providerUtils.insertTrack(track); + contentProviderUtils.insertTrack(track); Waypoint waypoint1 = new Waypoint(); waypoint1.setTrackId(trackId); - long waypoint1id = ContentUris.parseId(providerUtils.insertWaypoint(waypoint1)); + long waypoint1id = ContentUris.parseId(contentProviderUtils.insertWaypoint(waypoint1)); Waypoint waypoint2 = new Waypoint(); waypoint2.setTrackId(trackId); - long waypoint2id = ContentUris.parseId(providerUtils.insertWaypoint(waypoint2)); + long waypoint2id = ContentUris.parseId(contentProviderUtils.insertWaypoint(waypoint2)); - Assert.assertEquals(-1L, providerUtils.getFirstWaypointId(-1)); - Assert.assertEquals(waypoint1id, providerUtils.getFirstWaypointId(trackId)); - Assert.assertEquals(waypoint2id, providerUtils.getLastWaypoint(trackId, WaypointType.WAYPOINT).getId()); + Assert.assertEquals(-1L, contentProviderUtils.getFirstWaypointId(-1)); + Assert.assertEquals(waypoint1id, contentProviderUtils.getFirstWaypointId(trackId)); + Assert.assertEquals(waypoint2id, contentProviderUtils.getLastWaypoint(trackId).getId()); } /** - * Tests the method {@link ContentProviderUtils#getNextWaypointNumber(long, WaypointType)}. + * Tests the method {@link ContentProviderUtils#getNextWaypointNumber(long)}. */ @Test public void testGetNextWaypointNumber() { long trackId = System.currentTimeMillis(); Track track = getTrack(trackId, 10); - providerUtils.insertTrack(track); + contentProviderUtils.insertTrack(track); Waypoint waypoint1 = new Waypoint(); - waypoint1.setType(WaypointType.STATISTICS); waypoint1.setTrackId(trackId); Waypoint waypoint2 = new Waypoint(); - waypoint2.setType(WaypointType.WAYPOINT); waypoint2.setTrackId(trackId); Waypoint waypoint3 = new Waypoint(); - waypoint3.setType(WaypointType.STATISTICS); waypoint3.setTrackId(trackId); Waypoint waypoint4 = new Waypoint(); - waypoint4.setType(WaypointType.WAYPOINT); waypoint4.setTrackId(trackId); - providerUtils.insertWaypoint(waypoint1); - providerUtils.insertWaypoint(waypoint2); - providerUtils.insertWaypoint(waypoint3); - providerUtils.insertWaypoint(waypoint4); + contentProviderUtils.insertWaypoint(waypoint1); + contentProviderUtils.insertWaypoint(waypoint2); + contentProviderUtils.insertWaypoint(waypoint3); + contentProviderUtils.insertWaypoint(waypoint4); - Assert.assertEquals(2, providerUtils.getNextWaypointNumber(trackId, WaypointType.STATISTICS)); - Assert.assertEquals(3, providerUtils.getNextWaypointNumber(trackId, WaypointType.WAYPOINT)); + Assert.assertEquals(4, contentProviderUtils.getNextWaypointNumber(trackId)); } /** * Tests the method - * {@link ContentProviderUtils#getLastWaypoint(long, WaypointType)}. + * {@link ContentProviderUtils#getLastWaypoint(long)}. */ @Test - public void testGetLastStatisticsWaypoint() { + public void testGetLastWaypoint() { long trackId = System.currentTimeMillis(); Track track = getTrack(trackId, 10); - providerUtils.insertTrack(track); + contentProviderUtils.insertTrack(track); Waypoint waypoint1 = new Waypoint(); waypoint1.setTrackId(trackId); - waypoint1.setType(WaypointType.STATISTICS); waypoint1.setDescription("Desc1"); Waypoint waypoint2 = new Waypoint(); waypoint2.setTrackId(trackId); - waypoint2.setType(WaypointType.STATISTICS); waypoint2.setDescription("Desc2"); Waypoint waypoint3 = new Waypoint(); waypoint3.setTrackId(trackId); - waypoint3.setType(WaypointType.WAYPOINT); waypoint3.setDescription("Desc3"); - providerUtils.insertWaypoint(waypoint1); - providerUtils.insertWaypoint(waypoint2); - providerUtils.insertWaypoint(waypoint3); + contentProviderUtils.insertWaypoint(waypoint1); + contentProviderUtils.insertWaypoint(waypoint2); + contentProviderUtils.insertWaypoint(waypoint3); - Assert.assertEquals("Desc2", providerUtils.getLastWaypoint(trackId, WaypointType.STATISTICS).getDescription()); + Assert.assertEquals("Desc3", contentProviderUtils.getLastWaypoint(trackId).getDescription()); } /** @@ -599,14 +560,14 @@ public class CustomContentProviderUtilsTest { public void testInsertAndGetWaypoint() { long trackId = System.currentTimeMillis(); Track track = getTrack(trackId, 10); - providerUtils.insertTrack(track); + contentProviderUtils.insertTrack(track); Waypoint waypoint = new Waypoint(); waypoint.setDescription(TEST_DESC); waypoint.setTrackId(trackId); - long waypointId = ContentUris.parseId(providerUtils.insertWaypoint(waypoint)); + long waypointId = ContentUris.parseId(contentProviderUtils.insertWaypoint(waypoint)); - Assert.assertEquals(TEST_DESC, providerUtils.getWaypoint(waypointId).getDescription()); + Assert.assertEquals(TEST_DESC, contentProviderUtils.getWaypoint(waypointId).getDescription()); } /** @@ -616,19 +577,19 @@ public class CustomContentProviderUtilsTest { public void testUpdateWaypoint() { long trackId = System.currentTimeMillis(); Track track = getTrack(trackId, 10); - providerUtils.insertTrack(track); + contentProviderUtils.insertTrack(track); // Insert at first. Waypoint waypoint = new Waypoint(); waypoint.setDescription(TEST_DESC); waypoint.setTrackId(trackId); - long waypointId = ContentUris.parseId(providerUtils.insertWaypoint(waypoint)); + long waypointId = ContentUris.parseId(contentProviderUtils.insertWaypoint(waypoint)); // Update - waypoint = providerUtils.getWaypoint(waypointId); + waypoint = contentProviderUtils.getWaypoint(waypointId); waypoint.setDescription(TEST_DESC_NEW); - providerUtils.updateWaypoint(waypoint); + contentProviderUtils.updateWaypoint(waypoint); - Assert.assertEquals(TEST_DESC_NEW, providerUtils.getWaypoint(waypointId).getDescription()); + Assert.assertEquals(TEST_DESC_NEW, contentProviderUtils.getWaypoint(waypointId).getDescription()); } /** @@ -641,10 +602,10 @@ public class CustomContentProviderUtilsTest { Track track = getTrack(trackId, 10); insertTrackWithLocations(track); - providerUtils.bulkInsertTrackPoint(track.getLocations().toArray(new Location[0]), -1, trackId); - Assert.assertEquals(20, providerUtils.getTrackPointCursor(trackId, -1L, 1000, false).getCount()); - providerUtils.bulkInsertTrackPoint(track.getLocations().toArray(new Location[0]), 8, trackId); - Assert.assertEquals(28, providerUtils.getTrackPointCursor(trackId, -1L, 1000, false).getCount()); + contentProviderUtils.bulkInsertTrackPoint(track.getLocations().toArray(new Location[0]), -1, trackId); + Assert.assertEquals(20, contentProviderUtils.getTrackPointCursor(trackId, -1L, 1000, false).getCount()); + contentProviderUtils.bulkInsertTrackPoint(track.getLocations().toArray(new Location[0]), 8, trackId); + Assert.assertEquals(28, contentProviderUtils.getTrackPointCursor(trackId, -1L, 1000, false).getCount()); } /** @@ -699,7 +660,7 @@ public class CustomContentProviderUtilsTest { byte[] sensor = "Sensor state".getBytes(); when(cursorMock.getBlob(index++)).thenReturn(sensor); - Location location = providerUtils.createTrackPoint(cursorMock); + Location location = contentProviderUtils.createTrackPoint(cursorMock); Assert.assertEquals((double) longitude, location.getLongitude(), 0.01); Assert.assertEquals((double) latitude, location.getLatitude(), 0.01); Assert.assertEquals(time, location.getTime(), 0.01); @@ -717,8 +678,8 @@ public class CustomContentProviderUtilsTest { Track track = getTrack(trackId, 10); insertTrackWithLocations(track); - providerUtils.insertTrackPoint(createLocation(22), trackId); - Assert.assertEquals(11, providerUtils.getTrackPointCursor(trackId, -1L, 1000, false).getCount()); + contentProviderUtils.insertTrackPoint(createLocation(22), trackId); + Assert.assertEquals(11, contentProviderUtils.getTrackPointCursor(trackId, -1L, 1000, false).getCount()); } /** @@ -731,7 +692,7 @@ public class CustomContentProviderUtilsTest { Track track = getTrack(trackId, 10); insertTrackWithLocations(track); - Assert.assertNotEquals(-1L, providerUtils.getFirstTrackPointId(trackId)); + Assert.assertNotEquals(-1L, contentProviderUtils.getFirstTrackPointId(trackId)); } /** @@ -744,7 +705,7 @@ public class CustomContentProviderUtilsTest { Track track = getTrack(trackId, 10); insertTrackWithLocations(track); - Assert.assertTrue(providerUtils.getFirstTrackPointId(trackId) < providerUtils.getLastTrackPointId(trackId)); + Assert.assertTrue(contentProviderUtils.getFirstTrackPointId(trackId) < contentProviderUtils.getLastTrackPointId(trackId)); } /** @@ -757,7 +718,7 @@ public class CustomContentProviderUtilsTest { Track track = getTrack(trackId, 10); insertTrackWithLocations(track); - Location lastLocation = providerUtils.getLastValidTrackPoint(trackId); + Location lastLocation = contentProviderUtils.getLastValidTrackPoint(trackId); checkLocation(9, lastLocation); } @@ -769,14 +730,14 @@ public class CustomContentProviderUtilsTest { // Insert track, points at first. long trackId = System.currentTimeMillis(); Track track = getTrack(trackId, 10); - providerUtils.insertTrack(track); + contentProviderUtils.insertTrack(track); long[] trackpointIds = new long[track.getNumberOfPoints()]; for (int i = 0; i < trackpointIds.length; i++) { - trackpointIds[i] = ContentUris.parseId(providerUtils.insertTrackPoint(track.getLocations().get(i), track.getId())); + trackpointIds[i] = ContentUris.parseId(contentProviderUtils.insertTrackPoint(track.getLocations().get(i), track.getId())); } - Cursor cursor = providerUtils.getTrackPointCursor(trackId, trackpointIds[1], 5, true); + Cursor cursor = contentProviderUtils.getTrackPointCursor(trackId, trackpointIds[1], 5, true); Assert.assertEquals(2, cursor.getCount()); } @@ -788,14 +749,14 @@ public class CustomContentProviderUtilsTest { // Insert track, points at first. long trackId = System.currentTimeMillis(); Track track = getTrack(trackId, 10); - providerUtils.insertTrack(track); + contentProviderUtils.insertTrack(track); long[] trackpointIds = new long[track.getNumberOfPoints()]; for (int i = 0; i < trackpointIds.length; i++) { - trackpointIds[i] = ContentUris.parseId(providerUtils.insertTrackPoint(track.getLocations().get(i), track.getId())); + trackpointIds[i] = ContentUris.parseId(contentProviderUtils.insertTrackPoint(track.getLocations().get(i), track.getId())); } - Cursor cursor = providerUtils.getTrackPointCursor(trackId, trackpointIds[8], 5, false); + Cursor cursor = contentProviderUtils.getTrackPointCursor(trackId, trackpointIds[8], 5, false); Assert.assertEquals(2, cursor.getCount()); } @@ -807,16 +768,16 @@ public class CustomContentProviderUtilsTest { // Insert track, points at first. long trackId = System.currentTimeMillis(); Track track = getTrack(trackId, 10); - providerUtils.insertTrack(track); + contentProviderUtils.insertTrack(track); long[] trackpointIds = new long[track.getNumberOfPoints()]; for (int i = 0; i < trackpointIds.length; i++) { - trackpointIds[i] = ContentUris.parseId(providerUtils.insertTrackPoint(track.getLocations().get(i), track.getId())); + trackpointIds[i] = ContentUris.parseId(contentProviderUtils.insertTrackPoint(track.getLocations().get(i), track.getId())); } long startTrackPointId = trackpointIds[9]; - LocationIterator locationIterator = providerUtils.getTrackPointLocationIterator(trackId, startTrackPointId, true, LocationFactory.DEFAULT_LOCATION_FACTORY); + LocationIterator locationIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, startTrackPointId, true, LocationFactory.DEFAULT_LOCATION_FACTORY); for (int i = 0; i < trackpointIds.length; i++) { Assert.assertTrue(locationIterator.hasNext()); Location location = locationIterator.next(); @@ -834,16 +795,16 @@ public class CustomContentProviderUtilsTest { // Insert track, point at first. long trackId = System.currentTimeMillis(); Track track = getTrack(trackId, 10); - providerUtils.insertTrack(track); + contentProviderUtils.insertTrack(track); long[] trackpointIds = new long[track.getNumberOfPoints()]; for (int i = 0; i < trackpointIds.length; i++) { - trackpointIds[i] = ContentUris.parseId(providerUtils.insertTrackPoint(track.getLocations().get(i), track.getId())); + trackpointIds[i] = ContentUris.parseId(contentProviderUtils.insertTrackPoint(track.getLocations().get(i), track.getId())); } long startTrackPointId = trackpointIds[0]; - LocationIterator locationIterator = providerUtils.getTrackPointLocationIterator(trackId, startTrackPointId, false, LocationFactory.DEFAULT_LOCATION_FACTORY); + LocationIterator locationIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, startTrackPointId, false, LocationFactory.DEFAULT_LOCATION_FACTORY); for (int i = 0; i < trackpointIds.length; i++) { Assert.assertTrue(locationIterator.hasNext()); Location location = locationIterator.next(); @@ -906,7 +867,7 @@ public class CustomContentProviderUtilsTest { * @param track track to be inserted */ private void insertTrackWithLocations(Track track) { - providerUtils.insertTrack(track); - providerUtils.bulkInsertTrackPoint(track.getLocations().toArray(new Location[0]), track.getLocations().size(), track.getId()); + contentProviderUtils.insertTrack(track); + contentProviderUtils.bulkInsertTrackPoint(track.getLocations().toArray(new Location[0]), track.getLocations().size(), track.getId()); } } diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/AdaptiveLocationListenerPolicyTest.java b/src/androidTest/java/de/dennisguse/opentracks/services/AdaptiveLocationListenerPolicyTest.java index 22407acef..f4d5637b2 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/AdaptiveLocationListenerPolicyTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/AdaptiveLocationListenerPolicyTest.java @@ -53,10 +53,8 @@ public class AdaptiveLocationListenerPolicyTest extends TestCase { assertEquals(MAX, adocationListenerPolicy.getDesiredPollingInterval()); adocationListenerPolicy.updateIdleTime(NEW_IDLE_TIME_NORMAL); - // First get the half of NEW_IDLE_TIME_NORMAL, and then round it to the - // nearest second. - assertEquals((NEW_IDLE_TIME_NORMAL / 2 / 1000) * 1000, - adocationListenerPolicy.getDesiredPollingInterval()); + // First get the half of NEW_IDLE_TIME_NORMAL, and then round it to the nearest second. + assertEquals((NEW_IDLE_TIME_NORMAL / 2 / 1000) * 1000, adocationListenerPolicy.getDesiredPollingInterval()); adocationListenerPolicy.updateIdleTime(NEW_IDLE_TIME_SMALL); assertEquals(MIN, adocationListenerPolicy.getDesiredPollingInterval()); diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java index 08493dabf..929f87a8e 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java @@ -46,7 +46,6 @@ import de.dennisguse.opentracks.content.ContentProviderUtils; import de.dennisguse.opentracks.content.CustomContentProvider; import de.dennisguse.opentracks.content.Track; import de.dennisguse.opentracks.content.Waypoint; -import de.dennisguse.opentracks.content.Waypoint.WaypointType; import de.dennisguse.opentracks.content.WaypointCreationRequest; import de.dennisguse.opentracks.stats.TripStatistics; import de.dennisguse.opentracks.util.PreferencesUtils; @@ -69,7 +68,7 @@ public class TrackRecordingServiceTest { public GrantPermissionRule mRuntimePermissionRule = GrantPermissionRule.grant(android.Manifest.permission.ACCESS_FINE_LOCATION); private Context context = ApplicationProvider.getApplicationContext(); - private ContentProviderUtils providerUtils; + private ContentProviderUtils contentProviderUtils; private final long trackId = Math.abs(new Random().nextLong()); @@ -84,14 +83,14 @@ public class TrackRecordingServiceTest { }; customContentProvider.attachInfo(context, null); - providerUtils = new ContentProviderUtils(context); + contentProviderUtils = new ContentProviderUtils(context); // Let's use default values. SharedPreferences sharedPreferences = PreferencesUtils.getSharedPreferences(context); sharedPreferences.edit().clear().apply(); // Ensure that the database is empty before every test - providerUtils.deleteAllTracks(context); + contentProviderUtils.deleteAllTracks(context); } @After @@ -103,7 +102,7 @@ public class TrackRecordingServiceTest { } // Ensure that the database is empty after every test - providerUtils.deleteAllTracks(context); + contentProviderUtils.deleteAllTracks(context); } @SmallTest @@ -123,7 +122,7 @@ public class TrackRecordingServiceTest { @MediumTest @Test public void testRecording_noTracks() throws Exception { - List tracks = providerUtils.getAllTracks(); + List tracks = contentProviderUtils.getAllTracks(); Assert.assertTrue(tracks.isEmpty()); Intent startIntent = createStartIntent(context); @@ -203,8 +202,8 @@ public class TrackRecordingServiceTest { private void addTrack(Track track, boolean isRecording) { Assert.assertTrue(track.getId() >= 0); - providerUtils.insertTrack(track); - Assert.assertEquals(track.getId(), providerUtils.getTrack(track.getId()).getId()); + contentProviderUtils.insertTrack(track); + Assert.assertEquals(track.getId(), contentProviderUtils.getTrack(track.getId()).getId()); PreferencesUtils.setLong(context, R.string.recording_track_id_key, isRecording ? track.getId() : PreferencesUtils.RECORDING_TRACK_ID_DEFAULT); PreferencesUtils.setBoolean(context, R.string.recording_track_paused_key, !isRecording); } @@ -231,7 +230,7 @@ public class TrackRecordingServiceTest { ITrackRecordingService service = ((ITrackRecordingService) mServiceRule.bindService(createStartIntent(context))); Assert.assertFalse(service.isRecording()); - long waypointId = service.insertWaypoint(WaypointCreationRequest.DEFAULT_WAYPOINT); + long waypointId = service.insertWaypoint(new WaypointCreationRequest(null, null, null, null, null)); Assert.assertEquals(-1L, waypointId); } @@ -244,12 +243,11 @@ public class TrackRecordingServiceTest { insertLocation(service); long trackId = service.getRecordingTrackId(); - long waypointId = service.insertWaypoint(WaypointCreationRequest.DEFAULT_WAYPOINT); + long waypointId = service.insertWaypoint(new WaypointCreationRequest(null, null, null, null, null)); Assert.assertNotEquals(-1L, waypointId); - Waypoint wpt = providerUtils.getWaypoint(waypointId); + Waypoint wpt = contentProviderUtils.getWaypoint(waypointId); Assert.assertEquals(context.getString(R.string.marker_waypoint_icon_url), wpt.getIcon()); Assert.assertEquals(context.getString(R.string.marker_name_format, 1), wpt.getName()); - Assert.assertEquals(WaypointType.WAYPOINT, wpt.getType()); Assert.assertEquals(trackId, wpt.getTrackId()); Assert.assertEquals(0.0, wpt.getLength(), 0.01); Assert.assertNotNull(wpt.getLocation()); diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLooper.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLooper.java index 9975ba03c..fb19955f1 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLooper.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLooper.java @@ -219,7 +219,7 @@ public class TrackRecordingServiceTestLooper { service.insertTrackPoint(location); if (i % 7 == 0) { - service.insertWaypoint(WaypointCreationRequest.DEFAULT_WAYPOINT); + service.insertWaypoint(new WaypointCreationRequest(null, null, null, null, null)); } } diff --git a/src/main/java/de/dennisguse/opentracks/MarkerEditActivity.java b/src/main/java/de/dennisguse/opentracks/MarkerEditActivity.java index 7afac425d..9256deba9 100644 --- a/src/main/java/de/dennisguse/opentracks/MarkerEditActivity.java +++ b/src/main/java/de/dennisguse/opentracks/MarkerEditActivity.java @@ -27,7 +27,6 @@ import android.widget.EditText; import de.dennisguse.opentracks.content.ContentProviderUtils; import de.dennisguse.opentracks.content.Waypoint; -import de.dennisguse.opentracks.content.Waypoint.WaypointType; import de.dennisguse.opentracks.content.WaypointCreationRequest; import de.dennisguse.opentracks.services.TrackRecordingServiceConnection; @@ -126,7 +125,7 @@ public class MarkerEditActivity extends AbstractActivity { if (newMarker) { statisticsSection.setVisibility(View.GONE); waypointSection.setVisibility(View.VISIBLE); - int nextWaypointNumber = trackId == -1L ? -1 : new ContentProviderUtils(this).getNextWaypointNumber(trackId, WaypointType.WAYPOINT); + int nextWaypointNumber = trackId == -1L ? -1 : new ContentProviderUtils(this).getNextWaypointNumber(trackId); if (nextWaypointNumber == -1) { nextWaypointNumber = 0; } @@ -141,7 +140,7 @@ public class MarkerEditActivity extends AbstractActivity { finish(); return; } - boolean statistics = waypoint.getType() == WaypointType.STATISTICS; + boolean statistics = false; //TODO REMOVE statisticsSection.setVisibility(statistics ? View.VISIBLE : View.GONE); waypointSection.setVisibility(statistics ? View.GONE : View.VISIBLE); if (statistics) { @@ -159,7 +158,6 @@ public class MarkerEditActivity extends AbstractActivity { */ private void addMarker() { WaypointCreationRequest waypointCreationRequest = new WaypointCreationRequest( - WaypointType.WAYPOINT, false, waypointName.getText().toString(), waypointMarkerType.getText().toString(), @@ -173,7 +171,7 @@ public class MarkerEditActivity extends AbstractActivity { * Saves a marker. */ private void saveMarker() { - boolean statistics = waypoint.getType() == WaypointType.STATISTICS; + boolean statistics = false; //TODO REMOVE if (statistics) { waypoint.setName(statisticsName.getText().toString()); } else { diff --git a/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java b/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java index 78bef7925..cdfeac009 100644 --- a/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java +++ b/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java @@ -46,7 +46,6 @@ import de.dennisguse.opentracks.content.ContentProviderUtils; import de.dennisguse.opentracks.content.Track; import de.dennisguse.opentracks.content.TrackDataHub; import de.dennisguse.opentracks.content.Waypoint; -import de.dennisguse.opentracks.content.Waypoint.WaypointType; import de.dennisguse.opentracks.content.WaypointCreationRequest; import de.dennisguse.opentracks.fragments.ChartDistanceFragment; import de.dennisguse.opentracks.fragments.ChartTimeFragment; @@ -109,7 +108,7 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA trackController.update(isRecording(), recordingTrackPaused); if (hasPhoto && photoUri != null) { hasPhoto = false; - WaypointCreationRequest waypointCreationRequest = new WaypointCreationRequest(WaypointType.WAYPOINT, false, null, null, null, null, photoUri.toString()); + WaypointCreationRequest waypointCreationRequest = new WaypointCreationRequest(false, null, null, null, null, photoUri.toString()); long markerId = trackRecordingServiceConnection.addMarker(TrackDetailActivity.this, waypointCreationRequest); if (markerId != -1L) { //TODO: Make configurable. diff --git a/src/main/java/de/dennisguse/opentracks/content/ContentProviderUtils.java b/src/main/java/de/dennisguse/opentracks/content/ContentProviderUtils.java index e5ad8e972..7b615e539 100644 --- a/src/main/java/de/dennisguse/opentracks/content/ContentProviderUtils.java +++ b/src/main/java/de/dennisguse/opentracks/content/ContentProviderUtils.java @@ -35,7 +35,6 @@ import java.util.NoSuchElementException; import de.dennisguse.opentracks.BuildConfig; import de.dennisguse.opentracks.android.ContentResolverWrapper; import de.dennisguse.opentracks.android.IContentResolver; -import de.dennisguse.opentracks.content.Waypoint.WaypointType; import de.dennisguse.opentracks.content.sensor.SensorDataSet; import de.dennisguse.opentracks.stats.TripStatistics; import de.dennisguse.opentracks.util.FileUtils; @@ -443,9 +442,6 @@ public class ContentProviderUtils { if (!cursor.isNull(trackIdIndex)) { waypoint.setTrackId(cursor.getLong(trackIdIndex)); } - if (!cursor.isNull(typeIndex)) { - waypoint.setType(WaypointType.values()[cursor.getInt(typeIndex)]); - } if (!cursor.isNull(lengthIndex)) { waypoint.setLength(cursor.getFloat(lengthIndex)); } @@ -539,25 +535,10 @@ public class ContentProviderUtils { * The generator is used to update the next statistics waypoint. * * @param waypointId the waypoint id - * @param descriptionGenerator the description generator. Can be null for waypoint marker */ - public void deleteWaypoint(Context context, long waypointId, DescriptionGenerator descriptionGenerator) { + public void deleteWaypoint(Context context, long waypointId) { final Waypoint waypoint = getWaypoint(waypointId); - if (waypoint != null && waypoint.getType() == WaypointType.STATISTICS - && descriptionGenerator != null) { - final Waypoint nextWaypoint = getNextStatisticsWaypointAfter(waypoint); - if (nextWaypoint == null) { - Log.d(TAG, "Unable to find the next statistics marker after deleting one."); - } else { - nextWaypoint.getTripStatistics().merge(waypoint.getTripStatistics()); - nextWaypoint.setDescription( - descriptionGenerator.generateWaypointDescription(nextWaypoint.getTripStatistics())); - if (!updateWaypoint(nextWaypoint)) { - Log.e(TAG, "Unable to update the next statistics marker after deleting one."); - } - } - } if (waypoint != null && waypoint.hasPhoto()) { Uri uri = waypoint.getPhotoURI(); File file = new File(uri.getPath()); @@ -596,14 +577,13 @@ public class ContentProviderUtils { * Gets the last waypoint for a type. Returns null if it doesn't exist. * * @param trackId the track id - * @param waypointType the waypoint type */ - public Waypoint getLastWaypoint(long trackId, WaypointType waypointType) { + public Waypoint getLastWaypoint(long trackId) { if (trackId < 0) { return null; } - String selection = WaypointsColumns.TRACKID + "=? AND " + WaypointsColumns.TYPE + "=?"; - String[] selectionArgs = new String[]{Long.toString(trackId), Integer.toString(waypointType.ordinal())}; + String selection = WaypointsColumns.TRACKID + "=?"; + String[] selectionArgs = new String[]{Long.toString(trackId)}; try (Cursor cursor = getWaypointCursor(null, selection, selectionArgs, WaypointsColumns._ID + " DESC", 1)) { if (cursor != null && cursor.moveToFirst()) { @@ -618,20 +598,17 @@ public class ContentProviderUtils { * Returns -1 if not able to get the next waypoint number. * * @param trackId the track id - * @param waypointType the waypoint type */ - public int getNextWaypointNumber(long trackId, WaypointType waypointType) { + public int getNextWaypointNumber(long trackId) { if (trackId < 0) { return -1; } String[] projection = {WaypointsColumns._ID}; - String selection = WaypointsColumns.TRACKID + "=? AND " + WaypointsColumns.TYPE + "=?"; - String[] selectionArgs = new String[]{Long.toString(trackId), Integer.toString(waypointType.ordinal())}; + String selection = WaypointsColumns.TRACKID + "=?"; + String[] selectionArgs = new String[]{Long.toString(trackId)}; try (Cursor cursor = getWaypointCursor(projection, selection, selectionArgs, WaypointsColumns._ID, -1)) { if (cursor != null) { - int count = cursor.getCount(); - // For statistics markers, the first marker is for the track statistics, so return the count as the next user visible number. - return waypointType == WaypointType.STATISTICS ? count : count + 1; + return cursor.getCount(); } } return -1; @@ -751,7 +728,6 @@ public class ContentProviderUtils { values.put(WaypointsColumns.CATEGORY, waypoint.getCategory()); values.put(WaypointsColumns.ICON, waypoint.getIcon()); values.put(WaypointsColumns.TRACKID, waypoint.getTrackId()); - values.put(WaypointsColumns.TYPE, waypoint.getType().ordinal()); values.put(WaypointsColumns.LENGTH, waypoint.getLength()); values.put(WaypointsColumns.DURATION, waypoint.getDuration()); values.put(WaypointsColumns.STARTID, waypoint.getStartId()); @@ -796,18 +772,6 @@ public class ContentProviderUtils { return values; } - private Waypoint getNextStatisticsWaypointAfter(Waypoint waypoint) { - String selection = WaypointsColumns._ID + ">? AND " + WaypointsColumns.TRACKID + "=? AND " - + WaypointsColumns.TYPE + "=" + WaypointType.STATISTICS.ordinal(); - String[] selectionArgs = new String[]{Long.toString(waypoint.getId()), Long.toString(waypoint.getTrackId())}; - try (Cursor cursor = getWaypointCursor(null, selection, selectionArgs, WaypointsColumns._ID, 1)) { - if (cursor != null && cursor.moveToFirst()) { - return createWaypoint(cursor); - } - } - return null; - } - /** * Gets a waypoint cursor. * diff --git a/src/main/java/de/dennisguse/opentracks/content/Waypoint.java b/src/main/java/de/dennisguse/opentracks/content/Waypoint.java index a27ec02be..b1384f3a3 100644 --- a/src/main/java/de/dennisguse/opentracks/content/Waypoint.java +++ b/src/main/java/de/dennisguse/opentracks/content/Waypoint.java @@ -35,7 +35,6 @@ public final class Waypoint { private String category = ""; private String icon = ""; private long trackId = -1L; - private WaypointType type = WaypointType.WAYPOINT; private double length = 0.0; private long duration = 0; private long startId = -1L; @@ -47,13 +46,12 @@ public final class Waypoint { public Waypoint() { } - public Waypoint(String name, String description, String category, String icon, long trackId, WaypointType type, double length, long duration, long startId, long stopId, Location location, TripStatistics tripStatistics, String photoUrl) { + public Waypoint(String name, String description, String category, String icon, long trackId, double length, long duration, long startId, long stopId, Location location, TripStatistics tripStatistics, String photoUrl) { this.name = name; this.description = description; this.category = category; this.icon = icon; this.trackId = trackId; - this.type = type; this.length = length; this.duration = duration; this.startId = startId; @@ -111,14 +109,6 @@ public final class Waypoint { this.trackId = trackId; } - public WaypointType getType() { - return type; - } - - public void setType(WaypointType type) { - this.type = type; - } - public double getLength() { return length; } @@ -186,9 +176,4 @@ public final class Waypoint { public boolean hasPhoto() { return photoUrl != null && !"".equals(photoUrl); } - - public enum WaypointType { - WAYPOINT, - STATISTICS //Always the first waypoint; only one can exist. - } } diff --git a/src/main/java/de/dennisguse/opentracks/content/WaypointCreationRequest.java b/src/main/java/de/dennisguse/opentracks/content/WaypointCreationRequest.java index 896e461c8..1a850df1c 100644 --- a/src/main/java/de/dennisguse/opentracks/content/WaypointCreationRequest.java +++ b/src/main/java/de/dennisguse/opentracks/content/WaypointCreationRequest.java @@ -15,7 +15,6 @@ */ package de.dennisguse.opentracks.content; -import de.dennisguse.opentracks.content.Waypoint.WaypointType; /** * A request for the service to create a waypoint at the current location. @@ -24,12 +23,10 @@ import de.dennisguse.opentracks.content.Waypoint.WaypointType; */ public class WaypointCreationRequest { - public final static WaypointCreationRequest DEFAULT_WAYPOINT = new WaypointCreationRequest(WaypointType.WAYPOINT, false); + public final static WaypointCreationRequest DEFAULT_WAYPOINT = new WaypointCreationRequest(false); @Deprecated // TODO Do not create per - public final static WaypointCreationRequest DEFAULT_START_TRACK = new WaypointCreationRequest(WaypointType.STATISTICS, true); - - private WaypointType type; + public final static WaypointCreationRequest DEFAULT_START_TRACK = new WaypointCreationRequest(true); // true if this marker contains the track statistics private boolean isTrackStatistics; @@ -40,12 +37,11 @@ public class WaypointCreationRequest { private String iconUrl; private String photoUrl; - private WaypointCreationRequest(WaypointType type, boolean isTrackStatistics) { - this(type, isTrackStatistics, null, null, null, null, null); + private WaypointCreationRequest(boolean isTrackStatistics) { + this(isTrackStatistics, null, null, null, null, null); } - public WaypointCreationRequest(WaypointType type, boolean isTrackStatistics, String name, String category, String description, String iconUrl, String photoUrl) { - this.type = type; + public WaypointCreationRequest(boolean isTrackStatistics, String name, String category, String description, String iconUrl, String photoUrl) { this.isTrackStatistics = isTrackStatistics; this.name = name; this.category = category; @@ -54,10 +50,6 @@ public class WaypointCreationRequest { this.photoUrl = photoUrl; } - public WaypointType getType() { - return type; - } - public boolean isTrackStatistics() { return isTrackStatistics; } diff --git a/src/main/java/de/dennisguse/opentracks/fragments/DeleteMarkerDialogFragment.java b/src/main/java/de/dennisguse/opentracks/fragments/DeleteMarkerDialogFragment.java index ec375d45c..2ec0bc07f 100644 --- a/src/main/java/de/dennisguse/opentracks/fragments/DeleteMarkerDialogFragment.java +++ b/src/main/java/de/dennisguse/opentracks/fragments/DeleteMarkerDialogFragment.java @@ -28,7 +28,6 @@ import androidx.fragment.app.FragmentManager; import de.dennisguse.opentracks.R; import de.dennisguse.opentracks.content.ContentProviderUtils; -import de.dennisguse.opentracks.content.DescriptionGeneratorImpl; import de.dennisguse.opentracks.util.DialogUtils; /** @@ -83,8 +82,7 @@ public class DeleteMarkerDialogFragment extends DialogFragment { public void run() { ContentProviderUtils contentProviderUtils = new ContentProviderUtils(fragmentActivity); for (long markerId : markerIds) { - contentProviderUtils.deleteWaypoint(fragmentActivity, - markerId, new DescriptionGeneratorImpl(fragmentActivity)); + contentProviderUtils.deleteWaypoint(fragmentActivity, markerId); } caller.onDeleteMarkerDone(); } diff --git a/src/main/java/de/dennisguse/opentracks/io/file/exporter/GpxTrackWriter.java b/src/main/java/de/dennisguse/opentracks/io/file/exporter/GpxTrackWriter.java index 818d141c7..f6761bc18 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/exporter/GpxTrackWriter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/exporter/GpxTrackWriter.java @@ -119,12 +119,9 @@ public class GpxTrackWriter implements TrackWriter { if (location.hasAltitude()) { printWriter.println("" + ELEVATION_FORMAT.format(location.getAltitude()) + ""); } - printWriter.println( - ""); + printWriter.println(""); printWriter.println("" + StringUtils.formatCData(waypoint.getName()) + ""); - printWriter.println("" + StringUtils.formatCData(waypoint.getType().name()) + ""); - printWriter.println( - "" + StringUtils.formatCData(waypoint.getDescription()) + ""); + printWriter.println("" + StringUtils.formatCData(waypoint.getDescription()) + ""); printWriter.println("" + StringUtils.formatCData(waypoint.getCategory()) + ""); printWriter.println(""); } diff --git a/src/main/java/de/dennisguse/opentracks/io/file/exporter/KmlTrackWriter.java b/src/main/java/de/dennisguse/opentracks/io/file/exporter/KmlTrackWriter.java index e93d95462..da4798872 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/exporter/KmlTrackWriter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/exporter/KmlTrackWriter.java @@ -32,7 +32,6 @@ import de.dennisguse.opentracks.content.DescriptionGeneratorImpl; import de.dennisguse.opentracks.content.SensorDataSetLocation; import de.dennisguse.opentracks.content.Track; import de.dennisguse.opentracks.content.Waypoint; -import de.dennisguse.opentracks.content.Waypoint.WaypointType; import de.dennisguse.opentracks.content.sensor.SensorDataSet; import de.dennisguse.opentracks.util.StringUtils; @@ -44,7 +43,6 @@ import de.dennisguse.opentracks.util.StringUtils; public class KmlTrackWriter implements TrackWriter { private static final String WAYPOINT_STYLE = "waypoint"; - private static final String STATISTICS_STYLE = "statistics"; private static final String START_STYLE = "start"; private static final String END_STYLE = "end"; private static final String TRACK_STYLE = "track"; @@ -55,7 +53,6 @@ public class KmlTrackWriter implements TrackWriter { private static final String SENSOR_TYPE_POWER = "power"; private static final String WAYPOINT_ICON = "http://maps.google.com/mapfiles/kml/pushpin/blue-pushpin.png"; - private static final String STATISTICS_ICON = "http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png"; private static final String START_ICON = "http://maps.google.com/mapfiles/kml/paddle/grn-circle.png"; private static final String END_ICON = "http://maps.google.com/mapfiles/kml/paddle/red-circle.png"; private static final String TRACK_ICON = "http://earth.google.com/images/kml-icons/track-directional/track-0.png"; @@ -125,7 +122,6 @@ public class KmlTrackWriter implements TrackWriter { writeTrackStyle(); writePlacemarkerStyle(START_STYLE, START_ICON, 32, 1); writePlacemarkerStyle(END_STYLE, END_ICON, 32, 1); - writePlacemarkerStyle(STATISTICS_STYLE, STATISTICS_ICON, 20, 2); writePlacemarkerStyle(WAYPOINT_STYLE, WAYPOINT_ICON, 20, 2); printWriter.println(""); @@ -167,13 +163,11 @@ public class KmlTrackWriter implements TrackWriter { @Override public void writeWaypoint(Waypoint waypoint) { if (printWriter != null && exportTrackDetail) { - String styleName = waypoint.getType() == WaypointType.STATISTICS ? STATISTICS_STYLE : WAYPOINT_STYLE; - if (waypoint.hasPhoto() && exportPhotos) { float heading = getHeading(waypoint.getTrackId(), waypoint.getLocation()); - writePhotoOverlay(waypoint.getName(), waypoint.getCategory(), waypoint.getDescription(), styleName, waypoint.getLocation(), waypoint.getPhotoUrl(), heading); + writePhotoOverlay(waypoint.getName(), waypoint.getCategory(), waypoint.getDescription(), WAYPOINT_STYLE, waypoint.getLocation(), waypoint.getPhotoUrl(), heading); } else { - writePlacemark(waypoint.getName(), waypoint.getCategory(), waypoint.getDescription(), styleName, waypoint.getLocation()); + writePlacemark(waypoint.getName(), waypoint.getCategory(), waypoint.getDescription(), WAYPOINT_STYLE, waypoint.getLocation()); } } } diff --git a/src/main/java/de/dennisguse/opentracks/io/file/importer/AbstractFileTrackImporter.java b/src/main/java/de/dennisguse/opentracks/io/file/importer/AbstractFileTrackImporter.java index 6555b368d..51431dd86 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/importer/AbstractFileTrackImporter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/importer/AbstractFileTrackImporter.java @@ -44,7 +44,6 @@ import de.dennisguse.opentracks.content.LocationFactory; import de.dennisguse.opentracks.content.LocationIterator; import de.dennisguse.opentracks.content.Track; import de.dennisguse.opentracks.content.Waypoint; -import de.dennisguse.opentracks.content.Waypoint.WaypointType; import de.dennisguse.opentracks.services.TrackRecordingService; import de.dennisguse.opentracks.stats.TripStatistics; import de.dennisguse.opentracks.stats.TripStatisticsUpdater; @@ -201,27 +200,14 @@ abstract class AbstractFileTrackImporter extends DefaultHandler implements Track // Valid location if (location.getLatitude() == waypoint.getLocation().getLatitude() && location.getLongitude() == waypoint.getLocation().getLongitude()) { - // Get tripStatistics, description, and icon - TripStatistics tripStatistics; - String waypointDescription; - String icon; - if (waypoint.getType() == WaypointType.STATISTICS) { - tripStatistics = markerTripStatisticsUpdater.getTripStatistics(); - markerTripStatisticsUpdater = new TripStatisticsUpdater(location.getTime()); - waypointDescription = new DescriptionGeneratorImpl(context).generateWaypointDescription(tripStatistics); - icon = context.getString(R.string.marker_statistics_icon_url); - } else { - tripStatistics = null; - waypointDescription = waypoint.getDescription(); - icon = context.getString(R.string.marker_waypoint_icon_url); - } - - // Get length and duration + TripStatistics tripStatistics = null; + String waypointDescription = waypoint.getDescription(); + String icon = context.getString(R.string.marker_waypoint_icon_url); double length = trackTripStatisticstrackUpdater.getTripStatistics().getTotalDistance(); long duration = trackTripStatisticstrackUpdater.getTripStatistics().getTotalTime(); // Insert waypoint - Waypoint newWaypoint = new Waypoint(waypoint.getName(), waypointDescription, waypoint.getCategory(), icon, track.getId(), waypoint.getType(), length, duration, -1L, -1L, location, tripStatistics, waypoint.getPhotoUrl()); + Waypoint newWaypoint = new Waypoint(waypoint.getName(), waypointDescription, waypoint.getCategory(), icon, track.getId(), length, duration, -1L, -1L, location, tripStatistics, waypoint.getPhotoUrl()); contentProviderUtils.insertWaypoint(newWaypoint); } @@ -292,10 +278,8 @@ abstract class AbstractFileTrackImporter extends DefaultHandler implements Track /** * Adds a waypoint. - * - * @param type the waypoint type */ - protected void addWaypoint(WaypointType type) throws SAXException { + protected void addWaypoint() throws SAXException { // Waypoint must have a time, else cannot match to the track points if (time == null) { return; @@ -318,7 +302,6 @@ abstract class AbstractFileTrackImporter extends DefaultHandler implements Track if (category != null) { waypoint.setCategory(category); } - waypoint.setType(type); if (photoUrl != null) { waypoint.setPhotoUrl(photoUrl); @@ -505,6 +488,7 @@ abstract class AbstractFileTrackImporter extends DefaultHandler implements Track * * @param track the track */ + @Deprecated //TODO Store statistics for track in track rather than in waypoint. private void insertFirstWaypoint(Track track) { String waypointName = context.getString(R.string.marker_split_name_format, 0); String waypointCategory = ""; @@ -517,7 +501,7 @@ abstract class AbstractFileTrackImporter extends DefaultHandler implements Track Location waypointLocation = new Location(""); waypointLocation.setLatitude(100); waypointLocation.setLongitude(180); - Waypoint waypoint = new Waypoint(waypointName, waypointDescription, waypointCategory, icon, track.getId(), WaypointType.STATISTICS, length, duration, -1L, -1L, waypointLocation, tripStatistics, ""); + Waypoint waypoint = new Waypoint(waypointName, waypointDescription, waypointCategory, icon, track.getId(), length, duration, -1L, -1L, waypointLocation, tripStatistics, ""); contentProviderUtils.insertWaypoint(waypoint); } diff --git a/src/main/java/de/dennisguse/opentracks/io/file/importer/GpxFileTrackImporter.java b/src/main/java/de/dennisguse/opentracks/io/file/importer/GpxFileTrackImporter.java index a71ef50ae..252dead6c 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/importer/GpxFileTrackImporter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/importer/GpxFileTrackImporter.java @@ -25,7 +25,6 @@ import org.xml.sax.Attributes; import org.xml.sax.SAXException; import de.dennisguse.opentracks.content.ContentProviderUtils; -import de.dennisguse.opentracks.content.Waypoint.WaypointType; /** * Imports a GPX file. @@ -184,6 +183,6 @@ public class GpxFileTrackImporter extends AbstractFileTrackImporter { * On waypoint end. */ private void onWaypointEnd() throws SAXException { - addWaypoint(WaypointType.STATISTICS.name().equals(waypointType) ? WaypointType.STATISTICS : WaypointType.WAYPOINT); + addWaypoint(); } } diff --git a/src/main/java/de/dennisguse/opentracks/io/file/importer/KmlFileTrackImporter.java b/src/main/java/de/dennisguse/opentracks/io/file/importer/KmlFileTrackImporter.java index 6d12d0aed..429b85328 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/importer/KmlFileTrackImporter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/importer/KmlFileTrackImporter.java @@ -30,7 +30,6 @@ import java.util.ArrayList; import de.dennisguse.opentracks.content.ContentProviderUtils; import de.dennisguse.opentracks.content.SensorDataSetLocation; -import de.dennisguse.opentracks.content.Waypoint.WaypointType; import de.dennisguse.opentracks.content.sensor.SensorDataSet; /** @@ -46,7 +45,6 @@ public class KmlFileTrackImporter extends AbstractFileTrackImporter { private static final String HEART_RATE = "heart_rate"; private static final String POWER = "power"; - private static final String STATISTICS_STYLE = "#statistics"; private static final String WAYPOINT_STYLE = "#waypoint"; private static final String TAG_COORDINATES = "coordinates"; @@ -182,29 +180,16 @@ public class KmlFileTrackImporter extends AbstractFileTrackImporter { * On waypoint end. */ private void onWaypointEnd() throws SAXException { - if (waypointType == null) { + if (!WAYPOINT_STYLE.equals(waypointType)) { return; } - // Add a waypoint if the waypointType matches - WaypointType type; - switch (waypointType) { - case WAYPOINT_STYLE: - type = WaypointType.WAYPOINT; - break; - case STATISTICS_STYLE: - type = WaypointType.STATISTICS; - break; - default: - return; - } - if (photoUrl != null) { Uri uri = Uri.parse(photoUrl); photoUrl = getPhotoUrl(uri.getLastPathSegment()); } - addWaypoint(type); + addWaypoint(); } /** diff --git a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java index 47e274c68..fa72f0f4f 100644 --- a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java +++ b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java @@ -302,9 +302,9 @@ public class TrackRecordingService extends Service { String name = waypointCreationRequest.getName(); if (name == null) { - int nextWaypointNumber = contentProviderUtils.getNextWaypointNumber(recordingTrackId, waypointCreationRequest.getType()); + int nextWaypointNumber = contentProviderUtils.getNextWaypointNumber(recordingTrackId); if (nextWaypointNumber == -1) { - nextWaypointNumber = 0; + nextWaypointNumber = 1; } name = getString(R.string.marker_name_format, nextWaypointNumber); } @@ -335,7 +335,7 @@ public class TrackRecordingService extends Service { String photoUrl = waypointCreationRequest.getPhotoUrl() != null ? waypointCreationRequest.getPhotoUrl() : ""; // Insert waypoint - Waypoint waypoint = new Waypoint(name, description, category, icon, recordingTrackId, waypointCreationRequest.getType(), length, duration, -1L, -1L, location, null, photoUrl); + Waypoint waypoint = new Waypoint(name, description, category, icon, recordingTrackId, length, duration, -1L, -1L, location, null, photoUrl); Uri uri = contentProviderUtils.insertWaypoint(waypoint); return Long.parseLong(uri.getLastPathSegment()); }