From 9375842c71bbd3dde4bb4ad5a59c8c1f479a9d2a Mon Sep 17 00:00:00 2001 From: Rodrigo Damazio Date: Sun, 28 Nov 2010 00:48:05 -0800 Subject: [PATCH] Moving intent constants to XML file. --- MyTracks/res/values/third_party.xml | 30 ++++++++++++++++++ .../services/TrackRecordingService.java | 31 ++++++------------- .../services/TrackRecordingServiceTest.java | 24 ++++++-------- 3 files changed, 50 insertions(+), 35 deletions(-) create mode 100644 MyTracks/res/values/third_party.xml 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 tracks = providerUtils.getAllTracks(); assertTrue(tracks.isEmpty()); @@ -388,11 +388,9 @@ public class TrackRecordingServiceTest List receivedIntents = startReceiver.getReceivedIntents(); assertEquals(1, receivedIntents.size()); Intent broadcastIntent = receivedIntents.get(0); - assertEquals( - TrackRecordingService.START_TRACK_ACTION, - broadcastIntent.getAction()); - assertEquals(id, - broadcastIntent.getLongExtra(TrackRecordingService.TRACK_ID_EXTRA, -1)); + assertEquals(startAction, broadcastIntent.getAction()); + assertEquals(id, broadcastIntent.getLongExtra( + context.getString(R.string.track_id_broadcast_extra), -1)); context.unregisterReceiver(startReceiver); } @@ -419,8 +417,8 @@ public class TrackRecordingServiceTest public void testEndCurrentTrack_alreadyRecording() throws Exception { // See comment above if this fails randomly. BlockingBroadcastReceiver stopReceiver = new BlockingBroadcastReceiver(); - context.registerReceiver(stopReceiver, - new IntentFilter(TrackRecordingService.STOP_TRACK_ACTION)); + String stopAction = context.getString(R.string.track_stopped_broadcast_action); + context.registerReceiver(stopReceiver, new IntentFilter(stopAction)); createDummyTrack(123, -1, true); @@ -439,11 +437,9 @@ public class TrackRecordingServiceTest List receivedIntents = stopReceiver.getReceivedIntents(); assertEquals(1, receivedIntents.size()); Intent broadcastIntent = receivedIntents.get(0); - assertEquals( - TrackRecordingService.STOP_TRACK_ACTION, - broadcastIntent.getAction()); - assertEquals(123, - broadcastIntent.getLongExtra(TrackRecordingService.TRACK_ID_EXTRA, -1)); + assertEquals(stopAction, broadcastIntent.getAction()); + assertEquals(123, broadcastIntent.getLongExtra( + context.getString(R.string.track_id_broadcast_extra), -1)); context.unregisterReceiver(stopReceiver); }