diff --git a/MyTracksLib/res/values/third_party.xml b/MyTracksLib/res/values/third_party.xml
index cb9c1b23c..e85f8ff1b 100644
--- a/MyTracksLib/res/values/third_party.xml
+++ b/MyTracksLib/res/values/third_party.xml
@@ -27,4 +27,9 @@ limitations under the License.
com.google.android.apps.mytracks.TRACK_RESUMED
com.google.android.apps.mytracks.TRACK_STOPPED
com.google.android.apps.mytracks.TRACK_ID
+
+
+ com.google.android.apps.mytracks.services.TrackRecordingService
+ com.google.android.maps.mytracks
+
diff --git a/SignalStrengthSampler/src/com/google/android/apps/mytracks/signalstrength/RecordingStateReceiver.java b/SignalStrengthSampler/src/com/google/android/apps/mytracks/signalstrength/RecordingStateReceiver.java
index 8ac6351f1..b114c8ba7 100644
--- a/SignalStrengthSampler/src/com/google/android/apps/mytracks/signalstrength/RecordingStateReceiver.java
+++ b/SignalStrengthSampler/src/com/google/android/apps/mytracks/signalstrength/RecordingStateReceiver.java
@@ -40,9 +40,11 @@ public class RecordingStateReceiver extends BroadcastReceiver {
}
String action = intent.getAction();
- if (START_TRACK_ACTION.equals(action) || RESUME_TRACK_ACTION.equals(action)) {
+ if (ctx.getString(R.string.track_started_broadcast_action).equals(action) ||
+ ctx.getString(R.string.track_resumed_broadcast_action).equals(action)) {
startService(ctx);
- } else if (STOP_TRACK_ACTION.equals(action) || PAUSE_TRACK_ACTION.equals(action)) {
+ } else if (ctx.getString(R.string.track_stopped_broadcast_action).equals(action) ||
+ ctx.getString(R.string.track_paused_broadcast_action).equals(action)) {
stopService(ctx);
} else {
Log.e(TAG, "Unknown action received: " + action);
diff --git a/SignalStrengthSampler/src/com/google/android/apps/mytracks/signalstrength/SignalStrengthConstants.java b/SignalStrengthSampler/src/com/google/android/apps/mytracks/signalstrength/SignalStrengthConstants.java
index f4bd6a7ff..f65918451 100644
--- a/SignalStrengthSampler/src/com/google/android/apps/mytracks/signalstrength/SignalStrengthConstants.java
+++ b/SignalStrengthSampler/src/com/google/android/apps/mytracks/signalstrength/SignalStrengthConstants.java
@@ -15,7 +15,6 @@
*/
package com.google.android.apps.mytracks.signalstrength;
-import android.content.ComponentName;
import android.os.Build;
/**
@@ -24,24 +23,6 @@ import android.os.Build;
* @author Rodrigo Damazio
*/
public class SignalStrengthConstants {
- // TODO: Many of these could be moved into a common library for third-party apps
- public static final String START_TRACK_ACTION =
- "com.google.android.apps.mytracks.TRACK_STARTED";
- public static final String PAUSE_TRACK_ACTION =
- "com.google.android.apps.mytracks.TRACK_PAUSED";
- public static final String RESUME_TRACK_ACTION =
- "com.google.android.apps.mytracks.TRACK_RESUMED";
- public static final String STOP_TRACK_ACTION =
- "com.google.android.apps.mytracks.TRACK_STOPPED";
- public static final String TRACK_ID_EXTRA =
- "com.google.android.apps.mytracks.TRACK_ID";
- public static final String MYTRACKS_SERVICE =
- "com.google.android.apps.mytracks.services.TrackRecordingService";
- public static final String MYTRACKS_SERVICE_PACKAGE =
- "com.google.android.maps.mytracks";
- public static final ComponentName MYTRACKS_SERVICE_COMPONENT =
- new ComponentName(MYTRACKS_SERVICE_PACKAGE, MYTRACKS_SERVICE);
-
public static final String START_SAMPLING =
"com.google.android.apps.mytracks.signalstrength.START";
public static final String STOP_SAMPLING =
diff --git a/SignalStrengthSampler/src/com/google/android/apps/mytracks/signalstrength/SignalStrengthService.java b/SignalStrengthSampler/src/com/google/android/apps/mytracks/signalstrength/SignalStrengthService.java
index 1be7182aa..96658b935 100644
--- a/SignalStrengthSampler/src/com/google/android/apps/mytracks/signalstrength/SignalStrengthService.java
+++ b/SignalStrengthSampler/src/com/google/android/apps/mytracks/signalstrength/SignalStrengthService.java
@@ -46,11 +46,26 @@ import java.util.List;
public class SignalStrengthService extends Service
implements ServiceConnection, SignalStrengthCallback, OnSharedPreferenceChangeListener {
+ private ComponentName mytracksServiceComponent;
+ private SharedPreferences preferences;
+ private SignalStrengthListenerFactory signalListenerFactory;
private SignalStrengthListener signalListener;
private ITrackRecordingService mytracksService;
private long lastSamplingTime;
private long samplingPeriod;
+ @Override
+ public void onCreate() {
+ super.onCreate();
+
+ mytracksServiceComponent =
+ new ComponentName(
+ getString(R.string.mytracks_service_package),
+ getString(R.string.mytracks_service_class));
+ preferences = PreferenceManager.getDefaultSharedPreferences(this);
+ signalListenerFactory = new SignalStrengthListenerFactory();
+ }
+
@Override
public void onStart(Intent intent, int startId) {
handleCommand(intent, startId);
@@ -81,7 +96,7 @@ public class SignalStrengthService extends Service
Log.d(TAG, "Starting sampling");
Intent intent = new Intent();
- intent.setComponent(MYTRACKS_SERVICE_COMPONENT);
+ intent.setComponent(mytracksServiceComponent);
if (!bindService(intent, SignalStrengthService.this, 0)) {
Log.e(TAG, "Couldn't bind to service.");
return;
@@ -93,7 +108,7 @@ public class SignalStrengthService extends Service
List services = activityManager.getRunningServices(Integer.MAX_VALUE);
for (RunningServiceInfo serviceInfo : services) {
if (serviceInfo.pid != 0 &&
- serviceInfo.service.equals(MYTRACKS_SERVICE_COMPONENT)) {
+ serviceInfo.service.equals(mytracksServiceComponent)) {
return true;
}
}
@@ -120,13 +135,10 @@ public class SignalStrengthService extends Service
}
// We're ready to send waypoints, so register for signal sampling
- SignalStrengthListenerFactory factory = new SignalStrengthListenerFactory();
- signalListener = factory.create(this, this);
+ signalListener = signalListenerFactory.create(this, this);
signalListener.register();
// Register for preference changes
- SharedPreferences preferences =
- PreferenceManager.getDefaultSharedPreferences(this);
samplingPeriod = Long.parseLong(preferences.getString(
getString(R.string.settings_min_signal_sampling_period_key), "-1"));
preferences.registerOnSharedPreferenceChangeListener(this);
@@ -177,8 +189,6 @@ public class SignalStrengthService extends Service
synchronized (this) {
// Unregister from preference change updates
- SharedPreferences preferences =
- PreferenceManager.getDefaultSharedPreferences(this);
preferences.unregisterOnSharedPreferenceChangeListener(this);
// Unregister from receiving signal updates
@@ -219,6 +229,14 @@ public class SignalStrengthService extends Service
super.onDestroy();
}
+ @Override
+ public void onSharedPreferenceChanged(
+ SharedPreferences sharedPreferences, String key) {
+ if (getString(R.string.settings_min_signal_sampling_period_key).equals(key)) {
+ samplingPeriod = Long.parseLong(sharedPreferences.getString(key, "-1"));
+ }
+ }
+
@Override
public IBinder onBind(Intent intent) {
return null;
@@ -237,12 +255,4 @@ public class SignalStrengthService extends Service
intent.setAction(STOP_SAMPLING);
context.startService(intent);
}
-
- @Override
- public void onSharedPreferenceChanged(
- SharedPreferences sharedPreferences, String key) {
- if (getString(R.string.settings_min_signal_sampling_period_key).equals(key)) {
- samplingPeriod = Long.parseLong(sharedPreferences.getString(key, "-1"));
- }
- }
}