mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-10-02 17:43:06 +02:00
Track is now a record.
Create Track directly.
This commit is contained in:
@@ -128,24 +128,17 @@ public class ContentProviderUtils {
|
||||
null,
|
||||
null
|
||||
);
|
||||
|
||||
TrackBuilder track = new TrackBuilder(ZoneOffset.ofTotalSeconds(cursor.getInt(startTimeOffsetIndex)), trackStatistics);
|
||||
track.setId(new Track.Id(cursor.getLong(idIndex)));
|
||||
track.setUuid(UUIDUtils.fromBytes(cursor.getBlob(uuidIndex)));
|
||||
if (!cursor.isNull(nameIndex)) {
|
||||
track.setName(cursor.getString(nameIndex));
|
||||
}
|
||||
if (!cursor.isNull(descriptionIndex)) {
|
||||
track.setDescription(cursor.getString(descriptionIndex));
|
||||
}
|
||||
if (!cursor.isNull(activityTypeIndex)) {
|
||||
track.setActivityType(ActivityType.findBy(cursor.getString(activityTypeIndex)));
|
||||
}
|
||||
if (!cursor.isNull(activityTypeLocalizedIndex)) {
|
||||
track.setActivityTypeLocalized(cursor.getString(activityTypeLocalizedIndex));
|
||||
}
|
||||
|
||||
return track.getTrack();
|
||||
|
||||
return new Track(
|
||||
new Track.Id(cursor.getLong(idIndex)),
|
||||
UUIDUtils.fromBytes(cursor.getBlob(uuidIndex)),
|
||||
!cursor.isNull(nameIndex) ? cursor.getString(nameIndex) : "",
|
||||
!cursor.isNull(descriptionIndex) ? cursor.getString(descriptionIndex) : "",
|
||||
!cursor.isNull(activityTypeLocalizedIndex) ? cursor.getString(activityTypeLocalizedIndex) : "",
|
||||
!cursor.isNull(activityTypeIndex) ? ActivityType.findBy(cursor.getString(activityTypeIndex)) : ActivityType.findBy(null), //TODO Can this happen?
|
||||
ZoneOffset.ofTotalSeconds(cursor.getInt(startTimeOffsetIndex)),
|
||||
trackStatistics
|
||||
);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
|
||||
@@ -52,13 +52,8 @@ public class TrackBuilder {
|
||||
|
||||
@Deprecated
|
||||
@VisibleForTesting
|
||||
public TrackBuilder(Statistics statistics) {
|
||||
this(ZoneOffset.UTC, statistics);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public TrackBuilder(@NonNull ZoneOffset zoneOffset, @NonNull Statistics trackStatistics) {
|
||||
this.zoneOffset = zoneOffset;
|
||||
public TrackBuilder(@NonNull Statistics trackStatistics) {
|
||||
this.zoneOffset = ZoneOffset.UTC;
|
||||
this.trackStatistics = trackStatistics;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.time.ZoneOffset;
|
||||
import java.util.UUID;
|
||||
|
||||
import de.dennisguse.opentracks.R;
|
||||
import de.dennisguse.opentracks.data.ContentProviderUtils;
|
||||
@@ -72,14 +73,20 @@ public class TrackRecordingManager implements SharedPreferences.OnSharedPreferen
|
||||
ZoneOffset zoneOffset = ZoneOffset.systemDefault().getRules().getOffset(segmentStartTrackPoint.getTime());
|
||||
trackStatisticsUpdater = new TrackStatisticsUpdater(segmentStartTrackPoint);
|
||||
|
||||
TrackBuilder track = new TrackBuilder(zoneOffset, trackStatisticsUpdater.getTrackStatistics());
|
||||
|
||||
Statistics initialStatistics = trackStatisticsUpdater.getTrackStatistics();
|
||||
String activityTypeLocalized = PreferencesUtils.getDefaultActivityTypeLocalized();
|
||||
track.setActivityTypeLocalized(activityTypeLocalized);
|
||||
track.setActivityType(ActivityType.findByLocalizedString(context, activityTypeLocalized));
|
||||
track.setName(TrackNameUtils.getTrackName(context, trackId, track.getStartTime()));
|
||||
Track track = new Track(
|
||||
null,
|
||||
UUID.randomUUID(), //TODO This is not really cool: should happen in ContentProviderUtils?
|
||||
TrackNameUtils.getTrackName(context, trackId, initialStatistics.startTime().atOffset(zoneOffset)),
|
||||
"",
|
||||
activityTypeLocalized,
|
||||
ActivityType.findByLocalizedString(context, activityTypeLocalized),
|
||||
zoneOffset,
|
||||
initialStatistics
|
||||
);
|
||||
|
||||
trackId = contentProviderUtils.insertTrack(track.getTrack());
|
||||
trackId = contentProviderUtils.insertTrack(track);
|
||||
|
||||
onNewTrackPoint(segmentStartTrackPoint);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user