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); 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();