diff --git a/src/androidTest/java/de/dennisguse/opentracks/content/CustomContentProviderUtilsTest.java b/src/androidTest/java/de/dennisguse/opentracks/content/CustomContentProviderUtilsTest.java index 5622b5d4a..885967283 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/content/CustomContentProviderUtilsTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/content/CustomContentProviderUtilsTest.java @@ -466,7 +466,7 @@ public class CustomContentProviderUtilsTest { long waypoint1Id = ContentUris.parseId(contentProviderUtils.insertWaypoint(waypoint1)); Waypoint waypoint2 = new Waypoint(); - waypoint2.setDescription(Long.toString(trackId)); + waypoint2.setDescription(MOCK_DESC); waypoint2.setTrackId(trackId); waypoint2.setTripStatistics(statistics); long waypoint2Id = ContentUris.parseId(contentProviderUtils.insertWaypoint(waypoint2)); diff --git a/src/main/java/de/dennisguse/opentracks/MarkerEditActivity.java b/src/main/java/de/dennisguse/opentracks/MarkerEditActivity.java index 9256deba9..f44687685 100644 --- a/src/main/java/de/dennisguse/opentracks/MarkerEditActivity.java +++ b/src/main/java/de/dennisguse/opentracks/MarkerEditActivity.java @@ -158,7 +158,6 @@ public class MarkerEditActivity extends AbstractActivity { */ private void addMarker() { WaypointCreationRequest waypointCreationRequest = new WaypointCreationRequest( - false, waypointName.getText().toString(), waypointMarkerType.getText().toString(), waypointDescription.getText().toString(), diff --git a/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java b/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java index cdfeac009..bf519d8bb 100644 --- a/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java +++ b/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java @@ -108,7 +108,7 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA trackController.update(isRecording(), recordingTrackPaused); if (hasPhoto && photoUri != null) { hasPhoto = false; - WaypointCreationRequest waypointCreationRequest = new WaypointCreationRequest(false, null, null, null, null, photoUri.toString()); + WaypointCreationRequest waypointCreationRequest = new WaypointCreationRequest(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/WaypointCreationRequest.java b/src/main/java/de/dennisguse/opentracks/content/WaypointCreationRequest.java index 1a850df1c..5d7f1d8cd 100644 --- a/src/main/java/de/dennisguse/opentracks/content/WaypointCreationRequest.java +++ b/src/main/java/de/dennisguse/opentracks/content/WaypointCreationRequest.java @@ -23,26 +23,13 @@ package de.dennisguse.opentracks.content; */ public class WaypointCreationRequest { - public final static WaypointCreationRequest DEFAULT_WAYPOINT = new WaypointCreationRequest(false); - - @Deprecated // TODO Do not create per - public final static WaypointCreationRequest DEFAULT_START_TRACK = new WaypointCreationRequest(true); - - // true if this marker contains the track statistics - private boolean isTrackStatistics; - private String name; private String category; private String description; private String iconUrl; private String photoUrl; - private WaypointCreationRequest(boolean isTrackStatistics) { - this(isTrackStatistics, null, null, null, null, null); - } - - public WaypointCreationRequest(boolean isTrackStatistics, String name, String category, String description, String iconUrl, String photoUrl) { - this.isTrackStatistics = isTrackStatistics; + public WaypointCreationRequest(String name, String category, String description, String iconUrl, String photoUrl) { this.name = name; this.category = category; this.description = description; @@ -50,10 +37,6 @@ public class WaypointCreationRequest { this.photoUrl = photoUrl; } - public boolean isTrackStatistics() { - return isTrackStatistics; - } - public String getName() { return name; } 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 51431dd86..59d671b6f 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 @@ -39,7 +39,6 @@ import javax.xml.parsers.SAXParserFactory; import de.dennisguse.opentracks.R; import de.dennisguse.opentracks.content.ContentProviderUtils; -import de.dennisguse.opentracks.content.DescriptionGeneratorImpl; import de.dennisguse.opentracks.content.LocationFactory; import de.dennisguse.opentracks.content.LocationIterator; import de.dennisguse.opentracks.content.Track; @@ -260,7 +259,6 @@ abstract class AbstractFileTrackImporter extends DefaultHandler implements Track trackData.track.setTripStatistics(trackData.tripStatisticsUpdater.getTripStatistics()); trackData.track.setNumberOfPoints(trackData.numberOfLocations); contentProviderUtils.updateTrack(trackData.track); - insertFirstWaypoint(trackData.track); } /** @@ -483,28 +481,6 @@ abstract class AbstractFileTrackImporter extends DefaultHandler implements Track data.track.setStopId(contentProviderUtils.getLastTrackPointId(data.track.getId())); } - /** - * Inserts the first waypoint, the track statistics waypoint. - * - * @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 = ""; - TripStatisticsUpdater updater = new TripStatisticsUpdater(track.getTripStatistics().getStartTime()); - TripStatistics tripStatistics = updater.getTripStatistics(); - String waypointDescription = new DescriptionGeneratorImpl(context).generateWaypointDescription(tripStatistics); - String icon = context.getString(R.string.marker_statistics_icon_url); - double length = 0.0; - long duration = 0L; - Location waypointLocation = new Location(""); - waypointLocation.setLatitude(100); - waypointLocation.setLongitude(180); - Waypoint waypoint = new Waypoint(waypointName, waypointDescription, waypointCategory, icon, track.getId(), length, duration, -1L, -1L, waypointLocation, tripStatistics, ""); - contentProviderUtils.insertWaypoint(waypoint); - } - /** * Cleans up import. */ diff --git a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java index fa72f0f4f..e6f8dc06a 100644 --- a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java +++ b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java @@ -306,31 +306,22 @@ public class TrackRecordingService extends Service { if (nextWaypointNumber == -1) { nextWaypointNumber = 1; } - name = getString(R.string.marker_name_format, nextWaypointNumber); + name = getString(R.string.marker_name_format, nextWaypointNumber + 1); + } + + Location location = getLastValidTrackPointInCurrentSegment(recordingTrackId); + if (location == null) { + Log.i(TAG, "Could not create a waypoint as location is unknown."); + return -1L; } String category = waypointCreationRequest.getCategory() != null ? waypointCreationRequest.getCategory() : ""; String description = waypointCreationRequest.getDescription() != null ? waypointCreationRequest.getDescription() : ""; String icon = getString(R.string.marker_waypoint_icon_url); - double length; - long duration; - Location location = getLastValidTrackPointInCurrentSegment(recordingTrackId); - if (location != null && trackTripStatisticsUpdater != null) { - TripStatistics stats = trackTripStatisticsUpdater.getTripStatistics(); - length = stats.getTotalDistance(); - duration = stats.getTotalTime(); - } else { - if (!waypointCreationRequest.isTrackStatistics()) { - return -1L; - } - // For track statistics, make it an impossible location - location = new Location(""); - location.setLatitude(100); - location.setLongitude(180); - length = 0.0; - duration = 0L; - } + TripStatistics stats = trackTripStatisticsUpdater.getTripStatistics(); + double length = stats.getTotalDistance(); + long duration = stats.getTotalTime(); String photoUrl = waypointCreationRequest.getPhotoUrl() != null ? waypointCreationRequest.getPhotoUrl() : ""; @@ -371,9 +362,6 @@ public class TrackRecordingService extends Service { track.setTripStatistics(trackTripStatisticsUpdater.getTripStatistics()); contentProviderUtils.updateTrack(track); - //TODO Do not use insertWaypoint - insertWaypoint(WaypointCreationRequest.DEFAULT_START_TRACK); - startRecording(true); return trackId; }