forked from upstream-mirrors/OpenTracks
Timezone support: store timezone offset per Track.
When a recording is started the offset of the phone is used. Timezone is exported to KML and GPX. Fixes #301.
This commit is contained in:
@@ -9,6 +9,8 @@ import android.util.Pair;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.time.ZoneOffset;
|
||||
|
||||
import de.dennisguse.opentracks.R;
|
||||
import de.dennisguse.opentracks.content.data.Distance;
|
||||
import de.dennisguse.opentracks.content.data.Marker;
|
||||
@@ -47,9 +49,9 @@ class TrackRecordingManager {
|
||||
contentProviderUtils = new ContentProviderUtils(context);
|
||||
}
|
||||
|
||||
Track.Id start(TrackPoint segmentStartTrackPoint) {
|
||||
Track.Id start(TrackPoint segmentStartTrackPoint, ZoneOffset zoneOffset) {
|
||||
// Create new track
|
||||
Track track = new Track();
|
||||
Track track = new Track(zoneOffset);
|
||||
trackId = contentProviderUtils.insertTrack(track);
|
||||
track.setId(trackId);
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.time.ZoneOffset;
|
||||
|
||||
import de.dennisguse.opentracks.R;
|
||||
import de.dennisguse.opentracks.TrackListActivity;
|
||||
@@ -222,7 +223,9 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
|
||||
}
|
||||
|
||||
// Set recording status
|
||||
Track.Id trackId = trackRecordingManager.start(trackPointCreator.createSegmentStartManual());
|
||||
TrackPoint segmentStartManual = trackPointCreator.createSegmentStartManual();
|
||||
ZoneOffset zoneOffset = ZoneOffset.systemDefault().getRules().getOffset(segmentStartManual.getTime());
|
||||
Track.Id trackId = trackRecordingManager.start(segmentStartManual, zoneOffset);
|
||||
updateRecordingStatus(RecordingStatus.record(trackId));
|
||||
|
||||
startRecording();
|
||||
|
||||
Reference in New Issue
Block a user