Cleanup: move creating manual TrackPoints into TrackRecordingManager.

This commit is contained in:
Dennis Guse
2022-01-28 19:10:04 +01:00
parent cf32c81035
commit 29051ac978
2 changed files with 9 additions and 9 deletions
@@ -56,8 +56,10 @@ class TrackRecordingManager implements SharedPreferences.OnSharedPreferenceChang
PreferencesUtils.unregisterOnSharedPreferenceChangeListener(this);
}
Track.Id startNewTrack(TrackPoint segmentStartTrackPoint, ZoneOffset zoneOffset) {
Track.Id startNewTrack(TrackPointCreator trackPointCreator) {
TrackPoint segmentStartTrackPoint = trackPointCreator.createSegmentStartManual();
// Create new track
ZoneOffset zoneOffset = ZoneOffset.systemDefault().getRules().getOffset(segmentStartTrackPoint.getTime());
Track track = new Track(zoneOffset);
trackId = contentProviderUtils.insertTrack(track);
track.setId(trackId);
@@ -78,7 +80,7 @@ class TrackRecordingManager implements SharedPreferences.OnSharedPreferenceChang
}
//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;
Track track = contentProviderUtils.getTrack(trackId);
if (track == null) {
@@ -87,7 +89,7 @@ class TrackRecordingManager implements SharedPreferences.OnSharedPreferenceChang
}
trackStatisticsUpdater = new TrackStatisticsUpdater(track.getTrackStatistics());
onNewTrackPoint(segmentStartTrackPoint);
onNewTrackPoint(trackPointCreator.createSegmentStartManual());
lastTrackPoint = null;
lastStoredTrackPoint = null;
@@ -29,7 +29,6 @@ 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.data.CustomContentProvider;
@@ -172,10 +171,12 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
return binder;
}
@Deprecated //TODO Should be @VisibleForTesting
public boolean isRecording() {
return recordingStatus.isRecording();
}
@VisibleForTesting
public boolean isPaused() {
return recordingStatus.isPaused();
}
@@ -195,9 +196,7 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
}
// Set recording status
TrackPoint segmentStartManual = trackPointCreator.createSegmentStartManual();
ZoneOffset zoneOffset = ZoneOffset.systemDefault().getRules().getOffset(segmentStartManual.getTime());
Track.Id trackId = trackRecordingManager.startNewTrack(segmentStartManual, zoneOffset);
Track.Id trackId = trackRecordingManager.startNewTrack(trackPointCreator);
updateRecordingStatus(RecordingStatus.record(trackId));
startRecording();
@@ -206,9 +205,8 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
public void resumeTrack(Track.Id trackId) {
trackPointCreator.reset();
trackRecordingManager.resumeExistingTrack(trackId, trackPointCreator.createSegmentStartManual());
trackRecordingManager.resumeExistingTrack(trackId, trackPointCreator);
// Set recording status
updateRecordingStatus(RecordingStatus.record(trackId));
startRecording();