diff --git a/MyTracks/res/values/third_party.xml b/MyTracks/res/values/third_party.xml
new file mode 100644
index 000000000..cb9c1b23c
--- /dev/null
+++ b/MyTracks/res/values/third_party.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+ com.google.android.apps.mytracks.TRACK_NOTIFICATIONS
+ com.google.android.apps.mytracks.READ_TRACK_DATA
+ com.google.android.apps.mytracks.WRITE_TRACK_DATA
+
+
+ com.google.android.apps.mytracks.TRACK_STARTED
+ com.google.android.apps.mytracks.TRACK_PAUSED
+ com.google.android.apps.mytracks.TRACK_RESUMED
+ com.google.android.apps.mytracks.TRACK_STOPPED
+ com.google.android.apps.mytracks.TRACK_ID
+
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 cb1f458b9..d619f7b49 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java
@@ -70,20 +70,6 @@ public class TrackRecordingService extends Service implements LocationListener {
static final int MAX_AUTO_RESUME_TRACK_RETRY_ATTEMPTS = 3;
- // Broadcast-related constants.
- static final String NOTIFICATION_PERMISSION =
- "com.google.android.apps.mytracks.TRACK_NOTIFICATIONS";
- static final String START_TRACK_ACTION =
- "com.google.android.apps.mytracks.TRACK_STARTED";
- static final String PAUSE_TRACK_ACTION =
- "com.google.android.apps.mytracks.TRACK_PAUSED";
- static final String RESUME_TRACK_ACTION =
- "com.google.android.apps.mytracks.TRACK_RESUMED";
- static final String STOP_TRACK_ACTION =
- "com.google.android.apps.mytracks.TRACK_STOPPED";
- static final String TRACK_ID_EXTRA =
- "com.google.android.apps.mytracks.TRACK_ID";
-
private NotificationManager notificationManager;
private LocationManager locationManager;
private WakeLock wakeLock;
@@ -1017,7 +1003,7 @@ public class TrackRecordingService extends Service implements LocationListener {
if (recordingTrackId != -1 || isRecording) {
throw new IllegalStateException("A track is already in progress!");
}
-
+
long startTime = System.currentTimeMillis();
acquireWakeLock();
@@ -1050,7 +1036,8 @@ public class TrackRecordingService extends Service implements LocationListener {
prefManager.setRecordingTrack(recordingTrackId);
// Notify the world that we're now recording.
- sendTrackBroadcast(START_TRACK_ACTION, recordingTrackId);
+ sendTrackBroadcast(
+ R.string.track_started_broadcast_action, recordingTrackId);
return recordingTrackId;
}
@@ -1086,15 +1073,17 @@ public class TrackRecordingService extends Service implements LocationListener {
releaseWakeLock();
// Notify the world that we're no longer recording.
- sendTrackBroadcast(STOP_TRACK_ACTION, recordedTrackId);
+ sendTrackBroadcast(
+ R.string.track_stopped_broadcast_action, recordedTrackId);
}
- private void sendTrackBroadcast(String action, long trackId) {
+ private void sendTrackBroadcast(int actionResId, long trackId) {
Intent broadcastIntent =
new Intent()
- .setAction(action)
- .putExtra(TRACK_ID_EXTRA, trackId);
- sendBroadcast(broadcastIntent, NOTIFICATION_PERMISSION);
+ .setAction(getString(actionResId))
+ .putExtra(getString(R.string.track_id_broadcast_extra), trackId);
+ sendBroadcast(broadcastIntent,
+ getString(R.string.broadcast_notifications_permission));
}
public TripStatistics getTripStatistics() {
diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java
index 047d9df30..ab891e42a 100644
--- a/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java
+++ b/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java
@@ -364,8 +364,8 @@ public class TrackRecordingServiceTest
// My Tracks (go figure).
// Reference: http://code.google.com/p/android/issues/detail?id=5521
BlockingBroadcastReceiver startReceiver = new BlockingBroadcastReceiver();
- context.registerReceiver(startReceiver,
- new IntentFilter(TrackRecordingService.START_TRACK_ACTION));
+ String startAction = context.getString(R.string.track_started_broadcast_action);
+ context.registerReceiver(startReceiver, new IntentFilter(startAction));
List