forked from upstream-mirrors/OpenTracks
Adding broadcasts for when we start/stop recording.
Pause/resume constants are there so apps consider them, but not yet implemented.
This commit is contained in:
@@ -69,7 +69,21 @@ public class TrackRecordingService extends Service implements LocationListener {
|
|||||||
"http://maps.google.com/mapfiles/ms/micons/ylw-pushpin.png";
|
"http://maps.google.com/mapfiles/ms/micons/ylw-pushpin.png";
|
||||||
|
|
||||||
static final int MAX_AUTO_RESUME_TRACK_RETRY_ATTEMPTS = 3;
|
static final int MAX_AUTO_RESUME_TRACK_RETRY_ATTEMPTS = 3;
|
||||||
|
|
||||||
|
// Broadcast-related constants
|
||||||
|
private static final String NOTIFICATION_PERMISSION =
|
||||||
|
"com.google.android.apps.mytracks.TRACK_NOTIFICATIONS";
|
||||||
|
private static final String START_TRACK_ACTION =
|
||||||
|
"com.google.android.apps.mytracks.TRACK_STARTED";
|
||||||
|
private static final String PAUSE_TRACK_ACTION =
|
||||||
|
"com.google.android.apps.mytracks.TRACK_PAUSED";
|
||||||
|
private static final String RESUME_TRACK_ACTION =
|
||||||
|
"com.google.android.apps.mytracks.TRACK_RESUMED";
|
||||||
|
private static final String STOP_TRACK_ACTION =
|
||||||
|
"com.google.android.apps.mytracks.TRACK_STOPPED";
|
||||||
|
private static final String TRACK_ID_EXTRA =
|
||||||
|
"com.google.android.apps.mytracks.TRACK_ID";
|
||||||
|
|
||||||
private NotificationManager notificationManager;
|
private NotificationManager notificationManager;
|
||||||
private LocationManager locationManager;
|
private LocationManager locationManager;
|
||||||
private WakeLock wakeLock;
|
private WakeLock wakeLock;
|
||||||
@@ -1003,7 +1017,10 @@ public class TrackRecordingService extends Service implements LocationListener {
|
|||||||
getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0), 0);
|
getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0), 0);
|
||||||
// Persist the current recording track.
|
// Persist the current recording track.
|
||||||
prefManager.setRecordingTrack(recordingTrackId);
|
prefManager.setRecordingTrack(recordingTrackId);
|
||||||
|
|
||||||
|
// Notify the world that we're now recording
|
||||||
|
sendTrackBroadcast(START_TRACK_ACTION);
|
||||||
|
|
||||||
return recordingTrackId;
|
return recordingTrackId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1035,6 +1052,16 @@ public class TrackRecordingService extends Service implements LocationListener {
|
|||||||
showNotification();
|
showNotification();
|
||||||
prefManager.setRecordingTrack(recordingTrackId = -1);
|
prefManager.setRecordingTrack(recordingTrackId = -1);
|
||||||
releaseWakeLock();
|
releaseWakeLock();
|
||||||
|
|
||||||
|
// Notify the world that we're no longer recording.
|
||||||
|
sendTrackBroadcast(STOP_TRACK_ACTION);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendTrackBroadcast(String action) {
|
||||||
|
Intent broadcastIntent = new Intent();
|
||||||
|
broadcastIntent.setAction(action);
|
||||||
|
broadcastIntent.putExtra(TRACK_ID_EXTRA, recordingTrackId);
|
||||||
|
sendBroadcast(broadcastIntent, NOTIFICATION_PERMISSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
public TripStatistics getTripStatistics() {
|
public TripStatistics getTripStatistics() {
|
||||||
|
|||||||
Reference in New Issue
Block a user