From 7a738c2ecaabe060865bdc670e63cec106a2de20 Mon Sep 17 00:00:00 2001 From: Rodrigo Damazio Date: Thu, 18 Nov 2010 17:14:56 -0800 Subject: [PATCH] Moving the end recording method to more reasonable location. --- .../services/TrackRecordingService.java | 58 ++++++++++--------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java index acfd8477d..4b7adc9de 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java @@ -937,33 +937,7 @@ public class TrackRecordingService extends Service implements LocationListener { @Override public void endCurrentTrack() { - Log.d(MyTracksConstants.TAG, "TrackRecordingService.endCurrentTrack"); - if (recordingTrackId == -1 || !isRecording) { - throw new IllegalStateException("No recording track in progress!"); - } - - shutdownAnnouncer(); - isRecording = false; - Track recordingTrack = providerUtils.getTrack(recordingTrackId); - if (recordingTrack != null) { - TripStatistics stats = recordingTrack.getStatistics(); - stats.setStopTime(System.currentTimeMillis()); - stats.setTotalTime(stats.getStopTime() - stats.getStartTime()); - long lastRecordedLocationId = - providerUtils.getLastLocationId(recordingTrackId); - ContentValues values = new ContentValues(); - if (lastRecordedLocationId >= 0 - && recordingTrack.getStopId() >= 0) { - values.put(TracksColumns.STOPID, lastRecordedLocationId); - } - values.put(TracksColumns.STOPTIME, stats.getStopTime()); - values.put(TracksColumns.TOTALTIME, stats.getTotalTime()); - getContentResolver().update(TracksColumns.CONTENT_URI, values, - "_id=" + recordingTrack.getId(), null); - } - showNotification(); - prefManager.setRecordingTrack(recordingTrackId = -1); - releaseWakeLock(); + TrackRecordingService.this.endCurrentTrack(); } @Override @@ -1022,6 +996,36 @@ public class TrackRecordingService extends Service implements LocationListener { return recordingTrackId; } + private void endCurrentTrack() { + Log.d(MyTracksConstants.TAG, "TrackRecordingService.endCurrentTrack"); + if (recordingTrackId == -1 || !isRecording) { + throw new IllegalStateException("No recording track in progress!"); + } + + shutdownAnnouncer(); + isRecording = false; + Track recordingTrack = providerUtils.getTrack(recordingTrackId); + if (recordingTrack != null) { + TripStatistics stats = recordingTrack.getStatistics(); + stats.setStopTime(System.currentTimeMillis()); + stats.setTotalTime(stats.getStopTime() - stats.getStartTime()); + long lastRecordedLocationId = + providerUtils.getLastLocationId(recordingTrackId); + ContentValues values = new ContentValues(); + if (lastRecordedLocationId >= 0 + && recordingTrack.getStopId() >= 0) { + values.put(TracksColumns.STOPID, lastRecordedLocationId); + } + values.put(TracksColumns.STOPTIME, stats.getStopTime()); + values.put(TracksColumns.TOTALTIME, stats.getTotalTime()); + getContentResolver().update(TracksColumns.CONTENT_URI, values, + "_id=" + recordingTrack.getId(), null); + } + showNotification(); + prefManager.setRecordingTrack(recordingTrackId = -1); + releaseWakeLock(); + } + public TripStatistics getTripStatistics() { return statsBuilder.getStatistics(); }