Merging Bart's Polish fix.

This commit is contained in:
Rodrigo Damazio
2010-10-07 21:58:07 -03:00
2 changed files with 39 additions and 31 deletions
@@ -135,8 +135,13 @@ public class PreferenceManager {
MyTracksSettings.DEFAULT_AUTO_RESUME_TRACK_TIMEOUT));
}
if (key == null || key.equals(recordingTrackKey)) {
service.setRecordingTrackId(
sharedPreferences.getLong(recordingTrackKey, -1));
long recordingTrackId = sharedPreferences.getLong(recordingTrackKey, -1);
// Only read the id if it is valid.
// Setting it to -1 should only happen in
// TrackRecordingService.endCurrentTrack()
if (recordingTrackId > 0) {
service.setRecordingTrackId(recordingTrackId);
}
}
if (key == null || key.equals(splitFrequencyKey)) {
service.getSplitManager().setSplitFrequency(
@@ -890,35 +890,7 @@ public class TrackRecordingService extends Service implements LocationListener {
@Override
public long startNewTrack() {
Log.d(MyTracksConstants.TAG, "TrackRecordingService.startNewTrack");
Track track = new Track();
TripStatistics trackStats = track.getStatistics();
track.setName("new");
long startTime = System.currentTimeMillis();
trackStats.setStartTime(startTime);
track.setStartId(-1);
Uri trackUri = providerUtils.insertTrack(track);
long trackId = Long.parseLong(trackUri.getLastPathSegment());
track.setId(trackId);
track.setName(String.format(getString(R.string.new_track), trackId));
providerUtils.updateTrack(track);
recordingTrackId = trackId;
currentWaypointId = insertStatisticsMarker(null);
isRecording = true;
isMoving = true;
statsBuilder = new TripStatisticsBuilder();
statsBuilder.resumeAt(startTime);
setUpAnnouncer();
length = 0;
showNotification();
registerLocationListener();
splitManager.restore();
signalManager.restore();
// Reset the number of auto-resume retries.
SharedPreferences sharedPreferences =
getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
setAutoResumeTrackRetries(sharedPreferences, 0);
return trackId;
return TrackRecordingService.this.startNewTrack();
}
/**
@@ -989,6 +961,37 @@ public class TrackRecordingService extends Service implements LocationListener {
}
};
public long startNewTrack() {
Log.d(MyTracksConstants.TAG, "TrackRecordingService.startNewTrack");
Track track = new Track();
TripStatistics trackStats = track.getStatistics();
track.setName("new");
long startTime = System.currentTimeMillis();
trackStats.setStartTime(startTime);
track.setStartId(-1);
Uri trackUri = providerUtils.insertTrack(track);
recordingTrackId = Long.parseLong(trackUri.getLastPathSegment());
track.setId(recordingTrackId);
track.setName(String.format(getString(R.string.new_track), recordingTrackId));
providerUtils.updateTrack(track);
currentWaypointId = insertStatisticsMarker(null);
isRecording = true;
isMoving = true;
statsBuilder = new TripStatisticsBuilder();
statsBuilder.resumeAt(startTime);
setUpAnnouncer();
length = 0;
showNotification();
registerLocationListener();
splitManager.restore();
signalManager.restore();
// Reset the number of auto-resume retries.
SharedPreferences sharedPreferences =
getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
setAutoResumeTrackRetries(sharedPreferences, 0);
return recordingTrackId;
}
TripStatistics getTripStatistics() {
return statsBuilder.getStatistics();
}