Use Duration for Markers (instead of long).

This commit is contained in:
Dennis Guse
2021-04-09 18:33:53 +02:00
parent 978206dee4
commit 1c6012596e
5 changed files with 10 additions and 9 deletions
@@ -997,7 +997,7 @@ public class ChartView extends View {
double length_km = marker.getLength() * UnitConversions.M_TO_KM;
return metricUnits ? length_km : length_km * UnitConversions.KM_TO_MI;
} else {
return marker.getDuration();
return marker.getDuration().toMillis();
}
}
@@ -24,6 +24,7 @@ import android.os.Parcelable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.time.Duration;
import java.time.Instant;
import java.util.Objects;
@@ -51,7 +52,7 @@ public final class Marker {
//TODO It is the distance from the track starting point; rename to something more meaningful
private double length = 0.0;
private long duration = 0; //TODO Duration
private Duration duration;
@Deprecated //TODO Make an URI instead of String
private String photoUrl = "";
@@ -76,7 +77,7 @@ public final class Marker {
if (trackPoint.hasBearing()) this.bearing = trackPoint.getBearing();
}
public Marker(String name, String description, String category, String icon, @NonNull Track.Id trackId, double length, long duration, @NonNull TrackPoint trackPoint, String photoUrl) {
public Marker(String name, String description, String category, String icon, @NonNull Track.Id trackId, double length, @NonNull Duration duration, @NonNull TrackPoint trackPoint, String photoUrl) {
this(trackId, trackPoint);
this.name = name;
this.description = description;
@@ -225,11 +226,11 @@ public final class Marker {
this.length = length;
}
public long getDuration() {
public Duration getDuration() {
return duration;
}
public void setDuration(long duration) {
public void setDuration(@NonNull Duration duration) {
this.duration = duration;
}
@@ -346,7 +346,7 @@ public class ContentProviderUtils {
marker.setLength(cursor.getFloat(lengthIndex));
}
if (!cursor.isNull(durationIndex)) {
marker.setDuration(cursor.getLong(durationIndex));
marker.setDuration(Duration.ofMillis(cursor.getLong(durationIndex)));
}
if (!cursor.isNull(photoUrlIndex)) {
@@ -481,7 +481,7 @@ public class ContentProviderUtils {
values.put(MarkerColumns.ICON, marker.getIcon());
values.put(MarkerColumns.TRACKID, marker.getTrackId().getId());
values.put(MarkerColumns.LENGTH, marker.getLength());
values.put(MarkerColumns.DURATION, marker.getDuration());
values.put(MarkerColumns.DURATION, marker.getDuration().toMillis());
values.put(MarkerColumns.LONGITUDE, (int) (marker.getLongitude() * 1E6));
values.put(MarkerColumns.LATITUDE, (int) (marker.getLatitude() * 1E6));
@@ -203,7 +203,7 @@ abstract class AbstractFileTrackImporter extends DefaultHandler implements Track
String markerDescription = marker.getDescription();
String icon = context.getString(R.string.marker_icon_url);
double length = trackStatisticsUpdater.getTrackStatistics().getTotalDistance();
long duration = trackStatisticsUpdater.getTrackStatistics().getTotalTime().toMillis();
Duration duration = trackStatisticsUpdater.getTrackStatistics().getTotalTime();
// Insert marker
Marker newMarker = new Marker(marker.getName(), markerDescription, marker.getCategory(), icon, track.getId(), length, duration, trackPoint, marker.getPhotoUrl());
@@ -242,7 +242,7 @@ public class TrackRecordingService extends Service implements HandlerServer.Hand
TrackStatistics stats = trackStatisticsUpdater.getTrackStatistics();
double length = stats.getTotalDistance();
long duration = stats.getTotalTime().toMillis();
Duration duration = stats.getTotalTime();
// Insert marker
Marker marker = new Marker(name, description, category, icon, serviceStatus.getRecordingTrackId(), length, duration, trackPoint, photoUrl);