forked from upstream-mirrors/OpenTracks
Cleanup: move creating manual TrackPoints into TrackRecordingManager.
This commit is contained in:
@@ -56,8 +56,10 @@ class TrackRecordingManager implements SharedPreferences.OnSharedPreferenceChang
|
|||||||
PreferencesUtils.unregisterOnSharedPreferenceChangeListener(this);
|
PreferencesUtils.unregisterOnSharedPreferenceChangeListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
Track.Id startNewTrack(TrackPoint segmentStartTrackPoint, ZoneOffset zoneOffset) {
|
Track.Id startNewTrack(TrackPointCreator trackPointCreator) {
|
||||||
|
TrackPoint segmentStartTrackPoint = trackPointCreator.createSegmentStartManual();
|
||||||
// Create new track
|
// Create new track
|
||||||
|
ZoneOffset zoneOffset = ZoneOffset.systemDefault().getRules().getOffset(segmentStartTrackPoint.getTime());
|
||||||
Track track = new Track(zoneOffset);
|
Track track = new Track(zoneOffset);
|
||||||
trackId = contentProviderUtils.insertTrack(track);
|
trackId = contentProviderUtils.insertTrack(track);
|
||||||
track.setId(trackId);
|
track.setId(trackId);
|
||||||
@@ -78,7 +80,7 @@ class TrackRecordingManager implements SharedPreferences.OnSharedPreferenceChang
|
|||||||
}
|
}
|
||||||
|
|
||||||
//TODO Handle non-existing trackId? Start a new track or exception?
|
//TODO Handle non-existing trackId? Start a new track or exception?
|
||||||
void resumeExistingTrack(@NonNull Track.Id resumeTrackId, @NonNull TrackPoint segmentStartTrackPoint) {
|
void resumeExistingTrack(@NonNull Track.Id resumeTrackId, @NonNull TrackPointCreator trackPointCreator) {
|
||||||
trackId = resumeTrackId;
|
trackId = resumeTrackId;
|
||||||
Track track = contentProviderUtils.getTrack(trackId);
|
Track track = contentProviderUtils.getTrack(trackId);
|
||||||
if (track == null) {
|
if (track == null) {
|
||||||
@@ -87,7 +89,7 @@ class TrackRecordingManager implements SharedPreferences.OnSharedPreferenceChang
|
|||||||
}
|
}
|
||||||
|
|
||||||
trackStatisticsUpdater = new TrackStatisticsUpdater(track.getTrackStatistics());
|
trackStatisticsUpdater = new TrackStatisticsUpdater(track.getTrackStatistics());
|
||||||
onNewTrackPoint(segmentStartTrackPoint);
|
onNewTrackPoint(trackPointCreator.createSegmentStartManual());
|
||||||
|
|
||||||
lastTrackPoint = null;
|
lastTrackPoint = null;
|
||||||
lastStoredTrackPoint = null;
|
lastStoredTrackPoint = null;
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ import androidx.lifecycle.LiveData;
|
|||||||
import androidx.lifecycle.MutableLiveData;
|
import androidx.lifecycle.MutableLiveData;
|
||||||
|
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.time.ZoneOffset;
|
|
||||||
|
|
||||||
import de.dennisguse.opentracks.R;
|
import de.dennisguse.opentracks.R;
|
||||||
import de.dennisguse.opentracks.data.CustomContentProvider;
|
import de.dennisguse.opentracks.data.CustomContentProvider;
|
||||||
@@ -172,10 +171,12 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
|
|||||||
return binder;
|
return binder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated //TODO Should be @VisibleForTesting
|
||||||
public boolean isRecording() {
|
public boolean isRecording() {
|
||||||
return recordingStatus.isRecording();
|
return recordingStatus.isRecording();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
public boolean isPaused() {
|
public boolean isPaused() {
|
||||||
return recordingStatus.isPaused();
|
return recordingStatus.isPaused();
|
||||||
}
|
}
|
||||||
@@ -195,9 +196,7 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set recording status
|
// Set recording status
|
||||||
TrackPoint segmentStartManual = trackPointCreator.createSegmentStartManual();
|
Track.Id trackId = trackRecordingManager.startNewTrack(trackPointCreator);
|
||||||
ZoneOffset zoneOffset = ZoneOffset.systemDefault().getRules().getOffset(segmentStartManual.getTime());
|
|
||||||
Track.Id trackId = trackRecordingManager.startNewTrack(segmentStartManual, zoneOffset);
|
|
||||||
updateRecordingStatus(RecordingStatus.record(trackId));
|
updateRecordingStatus(RecordingStatus.record(trackId));
|
||||||
|
|
||||||
startRecording();
|
startRecording();
|
||||||
@@ -206,9 +205,8 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
|
|||||||
|
|
||||||
public void resumeTrack(Track.Id trackId) {
|
public void resumeTrack(Track.Id trackId) {
|
||||||
trackPointCreator.reset();
|
trackPointCreator.reset();
|
||||||
trackRecordingManager.resumeExistingTrack(trackId, trackPointCreator.createSegmentStartManual());
|
trackRecordingManager.resumeExistingTrack(trackId, trackPointCreator);
|
||||||
|
|
||||||
// Set recording status
|
|
||||||
updateRecordingStatus(RecordingStatus.record(trackId));
|
updateRecordingStatus(RecordingStatus.record(trackId));
|
||||||
|
|
||||||
startRecording();
|
startRecording();
|
||||||
|
|||||||
Reference in New Issue
Block a user