diff --git a/MyTracks/AndroidManifest.xml b/MyTracks/AndroidManifest.xml
index 2a1bbd2d7..dffea744a 100755
--- a/MyTracks/AndroidManifest.xml
+++ b/MyTracks/AndroidManifest.xml
@@ -52,7 +52,7 @@ limitations under the License.
-
@@ -73,7 +73,7 @@ limitations under the License.
-
-
+
diff --git a/MyTracks/src/com/google/android/apps/mytracks/AggregatedStatsActivity.java b/MyTracks/src/com/google/android/apps/mytracks/AggregatedStatsActivity.java
index 7030b30db..cb385f35c 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/AggregatedStatsActivity.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/AggregatedStatsActivity.java
@@ -67,7 +67,7 @@ public class AggregatedStatsActivity extends Activity implements
sv.setScrollBarStyle(ScrollView.SCROLLBARS_OUTSIDE_INSET);
SharedPreferences preferences = getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, 0);
+ Constants.SETTINGS_NAME, 0);
if (preferences != null) {
metricUnits = preferences.getBoolean(getString(R.string.metric_units_key), true);
preferences.registerOnSharedPreferenceChangeListener(this);
diff --git a/MyTracks/src/com/google/android/apps/mytracks/MyTracksReceiver.java b/MyTracks/src/com/google/android/apps/mytracks/BootReceiver.java
similarity index 91%
rename from MyTracks/src/com/google/android/apps/mytracks/MyTracksReceiver.java
rename to MyTracks/src/com/google/android/apps/mytracks/BootReceiver.java
index 040e872e6..3ed021fb8 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/MyTracksReceiver.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/BootReceiver.java
@@ -41,17 +41,17 @@ import android.util.Log;
*
* @author Bartlomiej Niechwiej
*/
-public class MyTracksReceiver extends BroadcastReceiver {
+public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
- Log.d(TAG, "MyTracksReceiver.onReceive: " + intent.getAction());
+ Log.d(TAG, "BootReceiver.onReceive: " + intent.getAction());
if (ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
Intent startIntent = new Intent(context, TrackRecordingService.class);
startIntent.putExtra(RESUME_TRACK_EXTRA_NAME, true);
context.startService(startIntent);
} else {
- Log.w(TAG, "MyTracksReceiver: unsupported action");
+ Log.w(TAG, "BootReceiver: unsupported action");
}
}
}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/ChartActivity.java b/MyTracks/src/com/google/android/apps/mytracks/ChartActivity.java
index 7cc44f2c4..d62b1e2dc 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/ChartActivity.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/ChartActivity.java
@@ -27,7 +27,7 @@ import com.google.android.apps.mytracks.services.StatusAnnouncerFactory;
import com.google.android.apps.mytracks.stats.DoubleBuffer;
import com.google.android.apps.mytracks.stats.TripStatisticsBuilder;
import com.google.android.apps.mytracks.util.ApiFeatures;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.LocationUtils;
import com.google.android.apps.mytracks.util.UnitConversions;
import com.google.android.maps.mytracks.R;
@@ -356,7 +356,7 @@ public class ChartActivity extends Activity implements TrackDataListener {
@Override
public void onNewTrackPoint(Location loc) {
- if (MyTracksUtils.isValidLocation(loc)) {
+ if (LocationUtils.isValidLocation(loc)) {
double[] point = new double[6];
fillDataPoint(loc, point);
pendingPoints.add(point);
diff --git a/MyTracks/src/com/google/android/apps/mytracks/CheckUnits.java b/MyTracks/src/com/google/android/apps/mytracks/CheckUnits.java
index d1fc56029..556ad8f7d 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/CheckUnits.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/CheckUnits.java
@@ -78,7 +78,7 @@ class CheckUnits {
private static void accept(Context context, SharedPreferences preferences) {
recordCheckPerformed(preferences);
- Intent startIntent = new Intent(context, MyTracksSettings.class);
+ Intent startIntent = new Intent(context, SettingsActivity.class);
context.startActivity(startIntent);
}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/Constants.java b/MyTracks/src/com/google/android/apps/mytracks/Constants.java
index 35963cfc0..46a9db348 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/Constants.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/Constants.java
@@ -222,6 +222,20 @@ public abstract class Constants {
public static final String MAPSHOP_BASE_URL =
"http://maps.google.com/maps/ms";
+ /*
+ * Default values - keep in sync with those in preferences.xml.
+ */
+
+ public static final int DEFAULT_ANNOUNCEMENT_FREQUENCY = -1;
+ public static final int DEFAULT_AUTO_RESUME_TRACK_TIMEOUT = 10; // In min.
+ public static final int DEFAULT_MAX_RECORDING_DISTANCE = 200;
+ public static final int DEFAULT_MIN_RECORDING_DISTANCE = 5;
+ public static final int DEFAULT_MIN_RECORDING_INTERVAL = 0;
+ public static final int DEFAULT_MIN_REQUIRED_ACCURACY = 200;
+ public static final int DEFAULT_SPLIT_FREQUENCY = 0;
+
+ public static final String SETTINGS_NAME = "SettingsActivity";
+
/**
* This is an abstract utility class.
*/
diff --git a/MyTracks/src/com/google/android/apps/mytracks/DeleteAllTracks.java b/MyTracks/src/com/google/android/apps/mytracks/DeleteAllTracks.java
index 6bc980766..13c1598ed 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/DeleteAllTracks.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/DeleteAllTracks.java
@@ -61,7 +61,7 @@ public class DeleteAllTracks extends Handler {
Log.w(Constants.TAG, "deleting all!");
MyTracksProviderUtils.Factory.get(context).deleteAllTracks();
SharedPreferences prefs =
- context.getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ context.getSharedPreferences(Constants.SETTINGS_NAME, 0);
SharedPreferences.Editor editor = prefs.edit();
// TODO: Go through data manager
editor.putLong(context.getString(R.string.selected_track_key), -1);
diff --git a/MyTracks/src/com/google/android/apps/mytracks/ExportAllTracks.java b/MyTracks/src/com/google/android/apps/mytracks/ExportAllTracks.java
index 349c1cd67..8bad978c7 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/ExportAllTracks.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/ExportAllTracks.java
@@ -20,7 +20,7 @@ import com.google.android.apps.mytracks.content.TracksColumns;
import com.google.android.apps.mytracks.io.TrackWriter;
import com.google.android.apps.mytracks.io.TrackWriterFactory;
import com.google.android.apps.mytracks.io.TrackWriterFactory.TrackFileFormat;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.SystemUtils;
import com.google.android.maps.mytracks.R;
import android.app.Activity;
@@ -113,14 +113,14 @@ public class ExportAllTracks {
*/
private void aquireLocksAndExport() {
SharedPreferences prefs =
- activity.getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ activity.getSharedPreferences(Constants.SETTINGS_NAME, 0);
long recordingTrackId = -1;
if (prefs != null) {
recordingTrackId =
prefs.getLong(activity.getString(R.string.recording_track_key), -1);
}
if (recordingTrackId != -1) {
- wakeLock = MyTracksUtils.acquireWakeLock(activity, wakeLock);
+ wakeLock = SystemUtils.acquireWakeLock(activity, wakeLock);
}
// Now we can safely export everything.
diff --git a/MyTracks/src/com/google/android/apps/mytracks/ImportAllTracks.java b/MyTracks/src/com/google/android/apps/mytracks/ImportAllTracks.java
index 64d5799bb..f64c372ab 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/ImportAllTracks.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/ImportAllTracks.java
@@ -18,7 +18,7 @@ package com.google.android.apps.mytracks;
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
import com.google.android.apps.mytracks.io.GpxImporter;
import com.google.android.apps.mytracks.util.FileUtils;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.SystemUtils;
import com.google.android.maps.mytracks.R;
import android.app.Activity;
@@ -82,13 +82,13 @@ public class ImportAllTracks {
* track. Acquire a wake lock if there is no current track.
*/
private void aquireLocksAndImport() {
- SharedPreferences prefs = activity.getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ SharedPreferences prefs = activity.getSharedPreferences(Constants.SETTINGS_NAME, 0);
long recordingTrackId = -1;
if (prefs != null) {
recordingTrackId = prefs.getLong(activity.getString(R.string.recording_track_key), -1);
}
if (recordingTrackId != -1) {
- wakeLock = MyTracksUtils.acquireWakeLock(activity, wakeLock);
+ wakeLock = SystemUtils.acquireWakeLock(activity, wakeLock);
}
// Now we can safely import everything.
diff --git a/MyTracks/src/com/google/android/apps/mytracks/MyTracksMap.java b/MyTracks/src/com/google/android/apps/mytracks/MapActivity.java
similarity index 95%
rename from MyTracks/src/com/google/android/apps/mytracks/MyTracksMap.java
rename to MyTracks/src/com/google/android/apps/mytracks/MapActivity.java
index 43614d3af..e3430bc80 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/MyTracksMap.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/MapActivity.java
@@ -24,9 +24,8 @@ import com.google.android.apps.mytracks.services.StatusAnnouncerFactory;
import com.google.android.apps.mytracks.stats.TripStatistics;
import com.google.android.apps.mytracks.util.ApiFeatures;
import com.google.android.apps.mytracks.util.GeoRect;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.LocationUtils;
import com.google.android.maps.GeoPoint;
-import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.mytracks.R;
@@ -56,7 +55,7 @@ import android.widget.TextView;
* @author Leif Hendrik Wilden
* @author Rodrigo Damazio
*/
-public class MyTracksMap extends MapActivity
+public class MapActivity extends com.google.android.maps.MapActivity
implements View.OnTouchListener, View.OnClickListener,
TrackDataListener {
@@ -85,7 +84,7 @@ public class MyTracksMap extends MapActivity
private RelativeLayout screen;
private MapView mapView;
- private MyTracksOverlay mapOverlay;
+ private MapOverlay mapOverlay;
private LinearLayout messagePane;
private TextView messageText;
private LinearLayout busyPane;
@@ -118,7 +117,7 @@ public class MyTracksMap extends MapActivity
@Override
public void onCreate(Bundle bundle) {
- Log.d(TAG, "MyTracksMap.onCreate");
+ Log.d(TAG, "MapActivity.onCreate");
super.onCreate(bundle);
// The volume we want to control is the Text-To-Speech volume
@@ -141,7 +140,7 @@ public class MyTracksMap extends MapActivity
screen = (RelativeLayout) findViewById(R.id.screen);
mapView = (MapView) findViewById(R.id.map);
mapView.requestFocus();
- mapOverlay = new MyTracksOverlay(this);
+ mapOverlay = new MapOverlay(this);
mapView.getOverlays().add(mapOverlay);
mapView.setOnTouchListener(this);
mapView.setBuiltInZoomControls(true);
@@ -156,7 +155,7 @@ public class MyTracksMap extends MapActivity
@Override
protected void onRestoreInstanceState(Bundle bundle) {
- Log.d(TAG, "MyTracksMap.onRestoreInstanceState");
+ Log.d(TAG, "MapActivity.onRestoreInstanceState");
if (bundle != null) {
super.onRestoreInstanceState(bundle);
keepMyLocationVisible =
@@ -174,7 +173,7 @@ public class MyTracksMap extends MapActivity
@Override
protected void onStart() {
- Log.d(TAG, "MyTracksMap.onStart");
+ Log.d(TAG, "MapActivity.onStart");
super.onStart();
dataHub.registerTrackDataListener(this);
@@ -182,7 +181,7 @@ public class MyTracksMap extends MapActivity
@Override
protected void onSaveInstanceState(Bundle outState) {
- Log.d(TAG, "MyTracksMap.onSaveInstanceState");
+ Log.d(TAG, "MapActivity.onSaveInstanceState");
outState.putBoolean(KEY_KEEP_MY_LOCATION_VISIBLE, keepMyLocationVisible);
if (currentLocation != null) {
outState.putParcelable(KEY_CURRENT_LOCATION, currentLocation);
@@ -192,7 +191,7 @@ public class MyTracksMap extends MapActivity
@Override
protected void onStop() {
- Log.d(TAG, "MyTracksMap.onStop");
+ Log.d(TAG, "MapActivity.onStop");
dataHub.unregisterTrackDataListener(this);
@@ -236,7 +235,7 @@ public class MyTracksMap extends MapActivity
GeoRect r = new GeoRect(center, latSpan, lonSpan);
r.top += margin;
- GeoPoint geoPoint = MyTracksUtils.getGeoPoint(location);
+ GeoPoint geoPoint = LocationUtils.getGeoPoint(location);
return r.contains(geoPoint);
}
@@ -251,7 +250,7 @@ public class MyTracksMap extends MapActivity
mapOverlay.setMyLocation(currentLocation);
mapView.postInvalidate();
if (keepMyLocationVisible && !locationIsVisible(currentLocation)) {
- GeoPoint geoPoint = MyTracksUtils.getGeoPoint(currentLocation);
+ GeoPoint geoPoint = LocationUtils.getGeoPoint(currentLocation);
MapController controller = mapView.getController();
controller.animateTo(geoPoint);
}
@@ -290,7 +289,7 @@ public class MyTracksMap extends MapActivity
GeoPoint center = new GeoPoint(
bottom + latSpanE6 / 2,
left + lonSpanE6 / 2);
- if (MyTracksUtils.isValidGeoPoint(center)) {
+ if (LocationUtils.isValidGeoPoint(center)) {
mapView.getController().setCenter(center);
mapView.getController().zoomToSpan(latSpanE6, lonSpanE6);
}
@@ -482,7 +481,7 @@ public class MyTracksMap extends MapActivity
messagePane.setVisibility(View.VISIBLE);
if (bindClick) {
- messagePane.setOnClickListener(MyTracksMap.this);
+ messagePane.setOnClickListener(MapActivity.this);
} else {
messagePane.setOnClickListener(null);
}
@@ -499,7 +498,7 @@ public class MyTracksMap extends MapActivity
public void onCurrentLocationChanged(Location location) {
if (!location.getProvider().equals(Constants.GPS_PROVIDER)) {
Log.d(TAG,
- "MyTracksMap: Network location update received (provider '" + location.getProvider() + "'.");
+ "MapActivity: Network location update received (provider '" + location.getProvider() + "'.");
}
currentLocation = location;
@@ -522,7 +521,7 @@ public class MyTracksMap extends MapActivity
@Override
public void onNewWaypoint(Waypoint waypoint) {
- if (MyTracksUtils.isValidLocation(waypoint.getLocation())) {
+ if (LocationUtils.isValidLocation(waypoint.getLocation())) {
// TODO: Optimize locking inside addWaypoint
mapOverlay.addWaypoint(waypoint);
}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/MyTracksOverlay.java b/MyTracks/src/com/google/android/apps/mytracks/MapOverlay.java
similarity index 96%
rename from MyTracks/src/com/google/android/apps/mytracks/MyTracksOverlay.java
rename to MyTracks/src/com/google/android/apps/mytracks/MapOverlay.java
index d0b30e668..c72abc5d2 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/MyTracksOverlay.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/MapOverlay.java
@@ -16,7 +16,7 @@
package com.google.android.apps.mytracks;
import com.google.android.apps.mytracks.content.Waypoint;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.LocationUtils;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
@@ -45,7 +45,7 @@ import java.util.concurrent.BlockingQueue;
*
* @author Leif Hendrik Wilden
*/
-public class MyTracksOverlay extends Overlay {
+public class MapOverlay extends Overlay {
private final Drawable[] arrows;
private final int arrowWidth, arrowHeight;
@@ -92,12 +92,12 @@ public class MyTracksOverlay extends Overlay {
* Constructor for a potentially valid cached location.
*/
public CachedLocation(Location location) {
- this.valid = MyTracksUtils.isValidLocation(location);
- this.geoPoint = valid ? MyTracksUtils.getGeoPoint(location) : null;
+ this.valid = LocationUtils.isValidLocation(location);
+ this.geoPoint = valid ? LocationUtils.getGeoPoint(location) : null;
}
};
- public MyTracksOverlay(Context context) {
+ public MapOverlay(Context context) {
this.context = context;
this.waypoints = new ArrayList();
@@ -278,7 +278,7 @@ public class MyTracksOverlay extends Overlay {
synchronized (waypoints) {;
for (Waypoint wpt : waypoints) {
Location loc = wpt.getLocation();
- drawElement(canvas, projection, MyTracksUtils.getGeoPoint(loc),
+ drawElement(canvas, projection, LocationUtils.getGeoPoint(loc),
wpt.getType() == Waypoint.TYPE_STATISTICS ? statsMarker
: waypointMarker, -(markerWidth / 2) + 3, -markerHeight);
}
@@ -292,7 +292,7 @@ public class MyTracksOverlay extends Overlay {
}
Point pt = drawElement(canvas, projection,
- MyTracksUtils.getGeoPoint(myLocation), arrows[lastHeading],
+ LocationUtils.getGeoPoint(myLocation), arrows[lastHeading],
-(arrowWidth / 2) + 3, -(arrowHeight / 2));
// Draw the error circle.
float radius = projection.metersToEquatorPixels(myLocation.getAccuracy());
@@ -441,7 +441,7 @@ public class MyTracksOverlay extends Overlay {
return false;
}
- final Location tapLocation = MyTracksUtils.getLocation(p);
+ final Location tapLocation = LocationUtils.getLocation(p);
double dmin = Double.MAX_VALUE;
Waypoint waypoint = null;
synchronized (waypoints) {
diff --git a/MyTracks/src/com/google/android/apps/mytracks/MenuManager.java b/MyTracks/src/com/google/android/apps/mytracks/MenuManager.java
index 6bb09842e..97ef2adae 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/MenuManager.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/MenuManager.java
@@ -78,7 +78,7 @@ class MenuManager {
return startActivity(SensorStateActivity.class);
}
case R.id.menu_settings: {
- return startActivity(MyTracksSettings.class);
+ return startActivity(SettingsActivity.class);
}
case R.id.menu_aggregated_stats: {
return startActivity(AggregatedStatsActivity.class);
diff --git a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java
index a896ec767..106e9429c 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java
@@ -47,7 +47,7 @@ import com.google.android.apps.mytracks.services.StatusAnnouncerFactory;
import com.google.android.apps.mytracks.services.TrackRecordingService;
import com.google.android.apps.mytracks.util.ApiFeatures;
import com.google.android.apps.mytracks.util.FileUtils;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.SystemUtils;
import com.google.android.maps.mytracks.R;
import android.app.Activity;
@@ -246,14 +246,14 @@ public class MyTracks extends TabActivity implements OnTouchListener,
super.onCreate(savedInstanceState);
instance = this;
ApiFeatures apiFeatures = ApiFeatures.getInstance();
- if (!MyTracksUtils.isRelease(this)) {
+ if (!SystemUtils.isRelease(this)) {
apiFeatures.getApiPlatformAdapter().enableStrictMode();
}
providerUtils = MyTracksProviderUtils.Factory.get(this);
dataHub = new TrackDataHub(this, providerUtils);
menuManager = new MenuManager(this);
- sharedPreferences = getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ sharedPreferences = getSharedPreferences(Constants.SETTINGS_NAME, 0);
dialogManager = new DialogManager(this);
// The volume we want to control is the Text-To-Speech volume
@@ -269,7 +269,7 @@ public class MyTracks extends TabActivity implements OnTouchListener,
tabHost.addTab(tabHost.newTabSpec("tab1")
.setIndicator("Map", res.getDrawable(
android.R.drawable.ic_menu_mapmode))
- .setContent(new Intent(this, MyTracksMap.class)));
+ .setContent(new Intent(this, MapActivity.class)));
tabHost.addTab(tabHost.newTabSpec("tab2")
.setIndicator("Stats", res.getDrawable(R.drawable.menu_stats))
.setContent(new Intent(this, StatsActivity.class)));
@@ -462,8 +462,8 @@ public class MyTracks extends TabActivity implements OnTouchListener,
if (results != null) {
final long waypointId = results.getLongExtra("waypointid", -1);
if (waypointId >= 0) {
- MyTracksMap map =
- (MyTracksMap) getLocalActivityManager().getActivity("tab1");
+ MapActivity map =
+ (MapActivity) getLocalActivityManager().getActivity("tab1");
if (map != null) {
getTabHost().setCurrentTab(0);
map.showWaypoint(waypointId);
diff --git a/MyTracks/src/com/google/android/apps/mytracks/MyTracksSettings.java b/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java
similarity index 93%
rename from MyTracks/src/com/google/android/apps/mytracks/MyTracksSettings.java
rename to MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java
index e16cd64dd..cc2ed1731 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/MyTracksSettings.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java
@@ -54,28 +54,14 @@ import java.util.Set;
* @author Leif Hendrik Wilden
* @author Rodrigo Damazio
*/
-public class MyTracksSettings extends PreferenceActivity {
-
- public static final String SETTINGS_NAME = "MyTracksSettings";
-
- /*
- * Default values - keep in sync with those in preferences.xml.
- */
- public static final int DEFAULT_AUTO_RESUME_TRACK_TIMEOUT = 10; // In min.
- public static final int DEFAULT_ANNOUNCEMENT_FREQUENCY = -1;
- public static final int DEFAULT_MAX_RECORDING_DISTANCE = 200;
- public static final int DEFAULT_MIN_RECORDING_DISTANCE = 5;
- public static final int DEFAULT_MIN_RECORDING_INTERVAL = 0;
- public static final int DEFAULT_MIN_REQUIRED_ACCURACY = 200;
- public static final int DEFAULT_SPLIT_FREQUENCY = 0;
+public class SettingsActivity extends PreferenceActivity {
private BackupPreferencesListener backupListener;
-
private SharedPreferences preferences;
/** Called when the activity is first created. */
@Override
- public void onCreate(Bundle icicle) {
+ protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
// The volume we want to control is the Text-To-Speech volume
@@ -86,7 +72,7 @@ public class MyTracksSettings extends PreferenceActivity {
// Tell it where to read/write preferences
PreferenceManager preferenceManager = getPreferenceManager();
- preferenceManager.setSharedPreferencesName(SETTINGS_NAME);
+ preferenceManager.setSharedPreferencesName(Constants.SETTINGS_NAME);
preferenceManager.setSharedPreferencesMode(0);
// Set up automatic preferences backup
@@ -219,7 +205,7 @@ public class MyTracksSettings extends PreferenceActivity {
@Override
public boolean onPreferenceClick(Preference preference) {
BackupActivityHelper backupHelper =
- new BackupActivityHelper(MyTracksSettings.this);
+ new BackupActivityHelper(SettingsActivity.this);
backupHelper.writeBackup();
return true;
}
@@ -229,7 +215,7 @@ public class MyTracksSettings extends PreferenceActivity {
@Override
public boolean onPreferenceClick(Preference preference) {
BackupActivityHelper backupHelper =
- new BackupActivityHelper(MyTracksSettings.this);
+ new BackupActivityHelper(SettingsActivity.this);
backupHelper.restoreBackup();
return true;
}
@@ -373,7 +359,7 @@ public class MyTracksSettings extends PreferenceActivity {
public void run() {
// Give feedback to the user.
Toast.makeText(
- MyTracksSettings.this,
+ SettingsActivity.this,
R.string.settings_reset_done,
Toast.LENGTH_SHORT).show();
diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackDataHub.java b/MyTracks/src/com/google/android/apps/mytracks/TrackDataHub.java
index 2e1fd9d45..2ed674ff4 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/TrackDataHub.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/TrackDataHub.java
@@ -27,7 +27,7 @@ import com.google.android.apps.mytracks.content.Waypoint;
import com.google.android.apps.mytracks.content.WaypointsColumns;
import com.google.android.apps.mytracks.services.TrackRecordingService;
import com.google.android.apps.mytracks.util.ApiFeatures;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.LocationUtils;
import com.google.android.maps.mytracks.R;
import android.content.ContentResolver;
@@ -251,7 +251,7 @@ public class TrackDataHub {
listenerHandlerThread.start();
listenerHandler = new Handler(listenerHandlerThread.getLooper());
- sharedPreferences = ctx.getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ sharedPreferences = ctx.getSharedPreferences(Constants.SETTINGS_NAME, 0);
preferenceListener = new HubSharedPreferenceListener();
sensorManager = (SensorManager) ctx.getSystemService(Context.SENSOR_SERVICE);
@@ -286,7 +286,7 @@ public class TrackDataHub {
useMetricUnits = sharedPreferences.getBoolean(METRIC_UNITS_KEY, true);
reportSpeed = sharedPreferences.getBoolean(SPEED_REPORTING_KEY, true);
minRequiredAccuracy = sharedPreferences.getInt(MIN_REQUIRED_ACCURACY_KEY,
- MyTracksSettings.DEFAULT_MIN_REQUIRED_ACCURACY);
+ Constants.DEFAULT_MIN_REQUIRED_ACCURACY);
if (recordingTrackId > 0) {
Intent startIntent = new Intent(context, TrackRecordingService.class);
@@ -608,7 +608,7 @@ public class TrackDataHub {
recordingTrackId = sharedPreferences.getLong(RECORDING_TRACK_KEY, -1);
} else if (key.equals(MIN_REQUIRED_ACCURACY_KEY)) {
minRequiredAccuracy = sharedPreferences.getInt(RECORDING_TRACK_KEY,
- MyTracksSettings.DEFAULT_MIN_REQUIRED_ACCURACY);
+ Constants.DEFAULT_MIN_REQUIRED_ACCURACY);
} else if (key.equals(METRIC_UNITS_KEY)) {
useMetricUnits = sharedPreferences.getBoolean(METRIC_UNITS_KEY, true);
notifyUnitsChanged();
@@ -805,7 +805,7 @@ public class TrackDataHub {
if (cursor != null && cursor.moveToFirst()) {
do {
Waypoint waypoint = providerUtils.createWaypoint(cursor);
- if (!MyTracksUtils.isValidLocation(waypoint.getLocation())) {
+ if (!LocationUtils.isValidLocation(waypoint.getLocation())) {
continue;
}
@@ -964,7 +964,7 @@ public class TrackDataHub {
int numLoadedPoints,
int pointSamplingFrequency,
TrackDataListener[] listeners) {
- boolean isValid = MyTracksUtils.isValidLocation(location);
+ boolean isValid = LocationUtils.isValidLocation(location);
if (isValid) {
// Include a point if it fits one of the following criteria:
// - Has the mod for the sampling frequency (includes first point).
diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackList.java b/MyTracks/src/com/google/android/apps/mytracks/TrackList.java
index cf5004650..990062836 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/TrackList.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/TrackList.java
@@ -202,7 +202,7 @@ public class TrackList extends ListActivity
findViewById(R.id.tracklist_btn_import_all).setOnClickListener(this);
SharedPreferences preferences =
- getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ getSharedPreferences(Constants.SETTINGS_NAME, 0);
preferences.registerOnSharedPreferenceChangeListener(this);
metricUnits =
preferences.getBoolean(getString(R.string.metric_units_key), true);
diff --git a/MyTracks/src/com/google/android/apps/mytracks/WaypointDetails.java b/MyTracks/src/com/google/android/apps/mytracks/WaypointDetails.java
index d26b9a87b..a4a32436d 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/WaypointDetails.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/WaypointDetails.java
@@ -65,7 +65,7 @@ public class WaypointDetails extends Activity
utils = new StatsUtilities(this);
SharedPreferences preferences =
- getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ getSharedPreferences(Constants.SETTINGS_NAME, 0);
if (preferences != null) {
boolean useMetric =
preferences.getBoolean(getString(R.string.metric_units_key), true);
diff --git a/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java b/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java
index fddb1ddee..cbaad0481 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java
@@ -138,7 +138,7 @@ public class WaypointsList extends ListActivity
(Button) findViewById(R.id.waypointslist_btn_insert_statistics);
insertStatisticsButton.setOnClickListener(this);
SharedPreferences preferences =
- getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ getSharedPreferences(Constants.SETTINGS_NAME, 0);
// TODO: Get rid of selected and recording track IDs
long selectedTrackId = -1;
diff --git a/MyTracks/src/com/google/android/apps/mytracks/WelcomeActivity.java b/MyTracks/src/com/google/android/apps/mytracks/WelcomeActivity.java
index 45251a3b7..113253c5c 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/WelcomeActivity.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/WelcomeActivity.java
@@ -15,7 +15,7 @@
*/
package com.google.android.apps.mytracks;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.SystemUtils;
import com.google.android.maps.mytracks.R;
import android.app.Activity;
@@ -82,6 +82,6 @@ public class WelcomeActivity extends Activity {
AlertDialog dialog = builder.create();
dialog.show();
((TextView) dialog.findViewById(R.id.about_version_register)).
- setText(MyTracksUtils.getMyTracksVersion(this));
+ setText(SystemUtils.getMyTracksVersion(this));
}
}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/GpxImporter.java b/MyTracks/src/com/google/android/apps/mytracks/io/GpxImporter.java
index f92385038..45586faa6 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/io/GpxImporter.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/io/GpxImporter.java
@@ -19,7 +19,7 @@ import com.google.android.apps.mytracks.Constants;
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.stats.TripStatisticsBuilder;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.LocationUtils;
import com.google.android.apps.mytracks.util.StringUtils;
import android.location.Location;
@@ -362,7 +362,7 @@ public class GpxImporter extends DefaultHandler {
* @throws SAXException - thrown if track point is invalid
*/
private void onTrackPointElementEnd() throws SAXException {
- if (MyTracksUtils.isValidLocation(location)) {
+ if (LocationUtils.isValidLocation(location)) {
if (statsBuilder == null) {
// first point did not have a time, start stats builder without it
statsBuilder = new TripStatisticsBuilder(0);
diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/SendToDocs.java b/MyTracks/src/com/google/android/apps/mytracks/io/SendToDocs.java
index 22e974b2d..5105285e4 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/io/SendToDocs.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/io/SendToDocs.java
@@ -17,7 +17,6 @@ package com.google.android.apps.mytracks.io;
import com.google.android.apps.mytracks.MyTracks;
import com.google.android.apps.mytracks.Constants;
-import com.google.android.apps.mytracks.MyTracksSettings;
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.io.docs.DocsHelper;
@@ -73,7 +72,7 @@ public class SendToDocs {
this.trackId = trackId;
SharedPreferences preferences = activity.getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, 0);
+ Constants.SETTINGS_NAME, 0);
if (preferences != null) {
metricUnits =
preferences.getBoolean(activity.getString(R.string.metric_units_key),
diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/SendToFusionTables.java b/MyTracks/src/com/google/android/apps/mytracks/io/SendToFusionTables.java
index adc7c31ed..eeb769b88 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/io/SendToFusionTables.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/io/SendToFusionTables.java
@@ -16,7 +16,6 @@
package com.google.android.apps.mytracks.io;
import com.google.android.apps.mytracks.Constants;
-import com.google.android.apps.mytracks.MyTracksSettings;
import com.google.android.apps.mytracks.ProgressIndicator;
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
import com.google.android.apps.mytracks.content.Track;
@@ -25,8 +24,9 @@ import com.google.android.apps.mytracks.io.gdata.GDataWrapper;
import com.google.android.apps.mytracks.io.gdata.GDataWrapper.QueryFunction;
import com.google.android.apps.mytracks.stats.DoubleBuffer;
import com.google.android.apps.mytracks.stats.TripStatistics;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.LocationUtils;
import com.google.android.apps.mytracks.util.StringUtils;
+import com.google.android.apps.mytracks.util.SystemUtils;
import com.google.android.apps.mytracks.util.UnitConversions;
import com.google.android.maps.mytracks.R;
import com.google.api.client.googleapis.GoogleHeaders;
@@ -141,7 +141,7 @@ public class SendToFusionTables implements Runnable {
this.providerUtils = MyTracksProviderUtils.Factory.get(context);
GoogleHeaders headers = new GoogleHeaders();
- headers.setApplicationName("Google-MyTracks-" + MyTracksUtils.getMyTracksVersion(context));
+ headers.setApplicationName("Google-MyTracks-" + SystemUtils.getMyTracksVersion(context));
headers.gdataVersion = GDATA_VERSION;
transport = new HttpTransport();
@@ -296,7 +296,7 @@ public class SendToFusionTables implements Runnable {
private boolean uploadAllTrackPoints(final Track track, String originalDescription) {
- SharedPreferences preferences = context.getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ SharedPreferences preferences = context.getSharedPreferences(Constants.SETTINGS_NAME, 0);
boolean metricUnits = true;
if (preferences != null) {
metricUnits = preferences.getBoolean(context.getString(R.string.metric_units_key), true);
@@ -344,7 +344,7 @@ public class SendToFusionTables implements Runnable {
}
// Add to the elevation profile.
- if (loc != null && MyTracksUtils.isValidLocation(loc)) {
+ if (loc != null && LocationUtils.isValidLocation(loc)) {
// All points go into the smoothing buffer...
elevationBuffer.setNext(metricUnits ? loc.getAltitude()
: loc.getAltitude() * UnitConversions.M_TO_FT);
@@ -566,12 +566,12 @@ public class SendToFusionTables implements Runnable {
* Decimate to 2 meter precision. Fusion tables doesn't like too many
* points:
*/
- MyTracksUtils.decimate(segment, 2.0);
+ LocationUtils.decimate(segment, 2.0);
/* If the track still has > 2500 points, split it in pieces: */
final int maxPoints = 2500;
if (segment.getLocations().size() > maxPoints) {
- splitTracks.addAll(MyTracksUtils.split(segment, maxPoints));
+ splitTracks.addAll(LocationUtils.split(segment, maxPoints));
} else if (segment.getLocations().size() >= 2) {
splitTracks.add(segment);
}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/SendToMyMaps.java b/MyTracks/src/com/google/android/apps/mytracks/io/SendToMyMaps.java
index 4145f3a6f..ffc895da6 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/io/SendToMyMaps.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/io/SendToMyMaps.java
@@ -17,7 +17,6 @@ package com.google.android.apps.mytracks.io;
import static com.google.android.apps.mytracks.Constants.TAG;
import com.google.android.apps.mytracks.Constants;
-import com.google.android.apps.mytracks.MyTracksSettings;
import com.google.android.apps.mytracks.ProgressIndicator;
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
import com.google.android.apps.mytracks.content.Track;
@@ -25,7 +24,7 @@ import com.google.android.apps.mytracks.content.Waypoint;
import com.google.android.apps.mytracks.io.mymaps.MapsFacade;
import com.google.android.apps.mytracks.stats.DoubleBuffer;
import com.google.android.apps.mytracks.stats.TripStatistics;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.LocationUtils;
import com.google.android.apps.mytracks.util.StringUtils;
import com.google.android.apps.mytracks.util.UnitConversions;
import com.google.android.maps.mytracks.R;
@@ -117,7 +116,7 @@ public class SendToMyMaps implements Runnable {
boolean isNewMap = mapId.equals(NEW_MAP_ID);
if (isNewMap) {
SharedPreferences preferences = context.getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, 0);
+ Constants.SETTINGS_NAME, 0);
boolean mapPublic = true;
if (preferences != null) {
mapPublic = preferences.getBoolean(
@@ -196,7 +195,7 @@ public class SendToMyMaps implements Runnable {
private boolean uploadAllTrackPoints(
final Track track, String originalDescription) {
SharedPreferences preferences = context.getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, 0);
+ Constants.SETTINGS_NAME, 0);
boolean metricUnits = true;
if (preferences != null) {
metricUnits =
@@ -249,7 +248,7 @@ public class SendToMyMaps implements Runnable {
}
// Add to the elevation profile.
- if (loc != null && MyTracksUtils.isValidLocation(loc)) {
+ if (loc != null && LocationUtils.isValidLocation(loc)) {
// All points go into the smoothing buffer...
elevationBuffer.setNext(metricUnits ? loc.getAltitude()
: loc.getAltitude() * UnitConversions.M_TO_FT);
@@ -431,11 +430,11 @@ public class SendToMyMaps implements Runnable {
* Decimate to 2 meter precision. Mapshop doesn't like too many
* points:
*/
- MyTracksUtils.decimate(segment, 2.0);
+ LocationUtils.decimate(segment, 2.0);
/* It the track still has > 500 points, split it in pieces: */
if (segment.getLocations().size() > 500) {
- splitTracks.addAll(MyTracksUtils.split(segment, 500));
+ splitTracks.addAll(LocationUtils.split(segment, 500));
} else if (segment.getLocations().size() >= 2) {
splitTracks.add(segment);
}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/TcxTrackWriter.java b/MyTracks/src/com/google/android/apps/mytracks/io/TcxTrackWriter.java
index cf965b4c6..6cc76f68a 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/io/TcxTrackWriter.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/io/TcxTrackWriter.java
@@ -21,7 +21,7 @@ import com.google.android.apps.mytracks.content.Sensor.SensorDataSet;
import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.content.Waypoint;
import com.google.android.apps.mytracks.io.TrackWriterFactory.TrackFileFormat;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.SystemUtils;
import android.content.Context;
import android.location.Location;
@@ -236,7 +236,7 @@ public class TcxTrackWriter implements TrackFormatWriter {
// it. The TCX schema tightly defined the Version tag, so we can't put it
// there. They've similarly constrained the PartNumber tag, so it can't go
// there either.
- pw.format("My Tracks %s by Google\n", MyTracksUtils.getMyTracksVersion(context));
+ pw.format("My Tracks %s by Google\n", SystemUtils.getMyTracksVersion(context));
pw.println("");
@@ -246,11 +246,11 @@ public class TcxTrackWriter implements TrackFormatWriter {
// signify that this build is newer than the one associated with the
// version code given in VersionMajor.
pw.println("");
- pw.format("%d\n", MyTracksUtils.getMyTracksVersion(context));
- pw.format("%d\n", MyTracksUtils.isRelease(context) ? 0 : 1);
+ pw.format("%d\n", SystemUtils.getMyTracksVersion(context));
+ pw.format("%d\n", SystemUtils.isRelease(context) ? 0 : 1);
pw.println("");
- pw.format("%s\n", MyTracksUtils.isRelease(context) ? TCX_TYPE_RELEASE
+ pw.format("%s\n", SystemUtils.isRelease(context) ? TCX_TYPE_RELEASE
: TCX_TYPE_INTERNAL);
pw.println("");
pw.format("%s\n", Locale.getDefault().getLanguage());
diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/TrackWriter.java b/MyTracks/src/com/google/android/apps/mytracks/io/TrackWriter.java
index c18788572..1d86498ed 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/io/TrackWriter.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/io/TrackWriter.java
@@ -22,7 +22,7 @@ import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.content.Waypoint;
import com.google.android.apps.mytracks.content.MyTracksProviderUtils.LocationIterator;
import com.google.android.apps.mytracks.util.FileUtils;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.LocationUtils;
import com.google.android.maps.mytracks.R;
import android.app.Activity;
@@ -302,7 +302,7 @@ public class TrackWriter {
while (it.hasNext()) {
Location loc = it.next();
- boolean isValid = MyTracksUtils.isValidLocation(loc);
+ boolean isValid = LocationUtils.isValidLocation(loc);
boolean validSegment = isValid && isLastValid;
if (!wroteFirst && validSegment) {
// Found the first two consecutive points which are valid
diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/backup/ExternalFileBackup.java b/MyTracks/src/com/google/android/apps/mytracks/io/backup/ExternalFileBackup.java
index cde8c1954..1fbcf9485 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/io/backup/ExternalFileBackup.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/io/backup/ExternalFileBackup.java
@@ -16,7 +16,6 @@
package com.google.android.apps.mytracks.io.backup;
import com.google.android.apps.mytracks.Constants;
-import com.google.android.apps.mytracks.MyTracksSettings;
import com.google.android.apps.mytracks.content.TrackPointsColumns;
import com.google.android.apps.mytracks.content.TracksColumns;
import com.google.android.apps.mytracks.content.WaypointsColumns;
@@ -201,7 +200,7 @@ class ExternalFileBackup {
// Dump preferences
SharedPreferences preferences =
- context.getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ context.getSharedPreferences(Constants.SETTINGS_NAME, 0);
preferencesHelper.exportPreferences(preferences, outWriter);
} catch (IOException e) {
// We tried to delete the partially created file, but do nothing
@@ -253,7 +252,7 @@ class ExternalFileBackup {
// Restore preferences
SharedPreferences preferences =
- context.getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ context.getSharedPreferences(Constants.SETTINGS_NAME, 0);
preferencesHelper.importPreferences(reader, preferences);
} finally {
compressedStream.close();
diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/backup/MyTracksBackupAgent.java b/MyTracks/src/com/google/android/apps/mytracks/io/backup/MyTracksBackupAgent.java
index 729e0125f..4438ca47f 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/io/backup/MyTracksBackupAgent.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/io/backup/MyTracksBackupAgent.java
@@ -16,7 +16,6 @@
package com.google.android.apps.mytracks.io.backup;
import com.google.android.apps.mytracks.Constants;
-import com.google.android.apps.mytracks.MyTracksSettings;
import android.app.backup.BackupAgent;
import android.app.backup.BackupDataInput;
@@ -42,7 +41,7 @@ public class MyTracksBackupAgent extends BackupAgent {
ParcelFileDescriptor newState) throws IOException {
Log.i(Constants.TAG, "Performing backup");
SharedPreferences preferences = this.getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, 0);
+ Constants.SETTINGS_NAME, 0);
backupPreferences(data, preferences);
Log.i(Constants.TAG, "Backup complete");
@@ -92,7 +91,7 @@ public class MyTracksBackupAgent extends BackupAgent {
}
SharedPreferences preferences = this.getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, 0);
+ Constants.SETTINGS_NAME, 0);
PreferenceBackupHelper importer = createPreferenceBackupHelper();
importer.importPreferences(dataBuffer, preferences);
}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/SendDialog.java b/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/SendDialog.java
index 9296de275..16df9c5e3 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/SendDialog.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/SendDialog.java
@@ -15,9 +15,9 @@
*/
package com.google.android.apps.mytracks.io.sendtogoogle;
+import com.google.android.apps.mytracks.Constants;
import com.google.android.apps.mytracks.DialogManager;
import com.google.android.apps.mytracks.MyTracks;
-import com.google.android.apps.mytracks.MyTracksSettings;
import com.google.android.maps.mytracks.R;
import android.app.Dialog;
@@ -107,7 +107,7 @@ public class SendDialog extends Dialog {
R.id.sendtogoogle_send_stats_and_points);
SharedPreferences prefs =
- getContext().getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ getContext().getSharedPreferences(Constants.SETTINGS_NAME, 0);
if (prefs != null) {
sendToMyMapsCheckBox.setChecked(
prefs.getBoolean(
@@ -138,7 +138,7 @@ public class SendDialog extends Dialog {
@Override
protected void onStop() {
SharedPreferences prefs =
- getContext().getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ getContext().getSharedPreferences(Constants.SETTINGS_NAME, 0);
if (prefs != null) {
Editor editor = prefs.edit();
if (editor != null) {
diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/DefaultTrackNameFactory.java b/MyTracks/src/com/google/android/apps/mytracks/services/DefaultTrackNameFactory.java
index 79d2f5328..a83658854 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/services/DefaultTrackNameFactory.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/services/DefaultTrackNameFactory.java
@@ -15,7 +15,7 @@
*/
package com.google.android.apps.mytracks.services;
-import com.google.android.apps.mytracks.MyTracksSettings;
+import com.google.android.apps.mytracks.Constants;
import com.google.android.maps.mytracks.R;
import android.content.Context;
@@ -58,7 +58,7 @@ class DefaultTrackNameFactory {
/** Determines whether the preferences allow a timestamp-based track name */
protected boolean useTimestampTrackName() {
SharedPreferences prefs =
- context.getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ context.getSharedPreferences(Constants.SETTINGS_NAME, 0);
return prefs.getBoolean(
context.getString(R.string.timestamp_track_name_key), true);
}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/PreferenceManager.java b/MyTracks/src/com/google/android/apps/mytracks/services/PreferenceManager.java
index 2d03b2afb..91a3dc210 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/services/PreferenceManager.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/services/PreferenceManager.java
@@ -16,7 +16,6 @@
package com.google.android.apps.mytracks.services;
import com.google.android.apps.mytracks.Constants;
-import com.google.android.apps.mytracks.MyTracksSettings;
import com.google.android.maps.mytracks.R;
import android.content.SharedPreferences;
@@ -45,7 +44,7 @@ public class PreferenceManager implements OnSharedPreferenceChangeListener {
public PreferenceManager(TrackRecordingService service) {
this.service = service;
this.sharedPreferences = service.getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, 0);
+ Constants.SETTINGS_NAME, 0);
if (sharedPreferences == null) {
Log.w(Constants.TAG,
"TrackRecordingService: Couldn't get shared preferences.");
@@ -97,7 +96,7 @@ public class PreferenceManager implements OnSharedPreferenceChangeListener {
service.setMinRecordingDistance(
sharedPreferences.getInt(
minRecordingDistanceKey,
- MyTracksSettings.DEFAULT_MIN_RECORDING_DISTANCE));
+ Constants.DEFAULT_MIN_RECORDING_DISTANCE));
Log.d(Constants.TAG,
"TrackRecordingService: minRecordingDistance = "
+ service.getMinRecordingDistance());
@@ -105,12 +104,12 @@ public class PreferenceManager implements OnSharedPreferenceChangeListener {
if (key == null || key.equals(maxRecordingDistanceKey)) {
service.setMaxRecordingDistance(sharedPreferences.getInt(
maxRecordingDistanceKey,
- MyTracksSettings.DEFAULT_MAX_RECORDING_DISTANCE));
+ Constants.DEFAULT_MAX_RECORDING_DISTANCE));
}
if (key == null || key.equals(minRecordingIntervalKey)) {
int minRecordingInterval = sharedPreferences.getInt(
minRecordingIntervalKey,
- MyTracksSettings.DEFAULT_MIN_RECORDING_INTERVAL);
+ Constants.DEFAULT_MIN_RECORDING_INTERVAL);
switch (minRecordingInterval) {
case -2:
// Battery Miser
@@ -136,7 +135,7 @@ public class PreferenceManager implements OnSharedPreferenceChangeListener {
if (key == null || key.equals(minRequiredAccuracyKey)) {
service.setMinRequiredAccuracy(sharedPreferences.getInt(
minRequiredAccuracyKey,
- MyTracksSettings.DEFAULT_MIN_REQUIRED_ACCURACY));
+ Constants.DEFAULT_MIN_REQUIRED_ACCURACY));
}
if (key == null || key.equals(announcementFrequencyKey)) {
service.setAnnouncementFrequency(
@@ -145,7 +144,7 @@ public class PreferenceManager implements OnSharedPreferenceChangeListener {
if (key == null || key.equals(autoResumeTrackTimeoutKey)) {
service.setAutoResumeTrackTimeout(sharedPreferences.getInt(
autoResumeTrackTimeoutKey,
- MyTracksSettings.DEFAULT_AUTO_RESUME_TRACK_TIMEOUT));
+ Constants.DEFAULT_AUTO_RESUME_TRACK_TIMEOUT));
}
if (key == null || key.equals(recordingTrackKey)) {
long recordingTrackId = sharedPreferences.getLong(recordingTrackKey, -1);
diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/StatusAnnouncerTask.java b/MyTracks/src/com/google/android/apps/mytracks/services/StatusAnnouncerTask.java
index 8f7f1cc52..4f27556d1 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/services/StatusAnnouncerTask.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/services/StatusAnnouncerTask.java
@@ -19,7 +19,6 @@ package com.google.android.apps.mytracks.services;
import static com.google.android.apps.mytracks.Constants.TAG;
import com.google.android.apps.mytracks.Constants;
-import com.google.android.apps.mytracks.MyTracksSettings;
import com.google.android.apps.mytracks.stats.TripStatistics;
import com.google.android.apps.mytracks.util.StringUtils;
import com.google.android.apps.mytracks.util.UnitConversions;
@@ -176,7 +175,7 @@ public class StatusAnnouncerTask implements PeriodicTask {
// @VisibleForTesting
protected String getAnnouncement(TripStatistics stats) {
SharedPreferences preferences =
- context.getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ context.getSharedPreferences(Constants.SETTINGS_NAME, 0);
boolean metricUnits = true;
boolean reportSpeed = true;
if (preferences != null) {
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 57815d323..fa15577d4 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java
@@ -20,7 +20,6 @@ import static com.google.android.apps.mytracks.Constants.RESUME_TRACK_EXTRA_NAME
import com.google.android.apps.mytracks.MyTracks;
import com.google.android.apps.mytracks.Constants;
-import com.google.android.apps.mytracks.MyTracksSettings;
import com.google.android.apps.mytracks.content.MyTracksLocation;
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
import com.google.android.apps.mytracks.content.Sensor;
@@ -36,7 +35,7 @@ import com.google.android.apps.mytracks.stats.TripStatistics;
import com.google.android.apps.mytracks.stats.TripStatisticsBuilder;
import com.google.android.apps.mytracks.util.ApiFeatures;
import com.google.android.apps.mytracks.util.ApiPlatformAdapter;
-import com.google.android.apps.mytracks.util.MyTracksUtils;
+import com.google.android.apps.mytracks.util.LocationUtils;
import com.google.android.apps.mytracks.util.StringUtils;
import com.google.android.maps.mytracks.R;
@@ -81,13 +80,13 @@ public class TrackRecordingService extends Service implements LocationListener {
private WakeLock wakeLock;
private int minRecordingDistance =
- MyTracksSettings.DEFAULT_MIN_RECORDING_DISTANCE;
+ Constants.DEFAULT_MIN_RECORDING_DISTANCE;
private int maxRecordingDistance =
- MyTracksSettings.DEFAULT_MAX_RECORDING_DISTANCE;
+ Constants.DEFAULT_MAX_RECORDING_DISTANCE;
private int minRequiredAccuracy =
- MyTracksSettings.DEFAULT_MIN_REQUIRED_ACCURACY;
+ Constants.DEFAULT_MIN_REQUIRED_ACCURACY;
private int autoResumeTrackTimeout =
- MyTracksSettings.DEFAULT_AUTO_RESUME_TRACK_TIMEOUT;
+ Constants.DEFAULT_AUTO_RESUME_TRACK_TIMEOUT;
private long recordingTrackId = -1;
@@ -215,7 +214,7 @@ public class TrackRecordingService extends Service implements LocationListener {
// Keep track of length along recorded track (needed when a waypoint is
// inserted):
- if (MyTracksUtils.isValidLocation(location)) {
+ if (LocationUtils.isValidLocation(location)) {
if (lastValidLocation != null) {
length += location.distanceTo(lastValidLocation);
}
@@ -453,7 +452,7 @@ public class TrackRecordingService extends Service implements LocationListener {
if (cursor.moveToLast()) {
do {
Location location = providerUtils.createLocation(cursor);
- if (MyTracksUtils.isValidLocation(location)) {
+ if (LocationUtils.isValidLocation(location)) {
statsBuilder.addLocation(location, location.getTime());
if (lastValidLocation != null) {
length += location.distanceTo(lastValidLocation);
@@ -629,7 +628,7 @@ public class TrackRecordingService extends Service implements LocationListener {
}
private void addLocationToStats(Location location) {
- if (MyTracksUtils.isValidLocation(location)) {
+ if (LocationUtils.isValidLocation(location)) {
long now = System.currentTimeMillis();
statsBuilder.addLocation(location, now);
waypointStatsBuilder.addLocation(location, now);
@@ -836,7 +835,7 @@ public class TrackRecordingService extends Service implements LocationListener {
// Check if we haven't exceeded the maximum number of retry attempts.
SharedPreferences sharedPreferences =
- getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ getSharedPreferences(Constants.SETTINGS_NAME, 0);
int retries = sharedPreferences.getInt(
getString(R.string.auto_resume_track_current_retry_key), 0);
Log.d(TAG,
@@ -1117,7 +1116,7 @@ public class TrackRecordingService extends Service implements LocationListener {
// Reset the number of auto-resume retries.
setAutoResumeTrackRetries(
- getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0), 0);
+ getSharedPreferences(Constants.SETTINGS_NAME, 0), 0);
// Persist the current recording track.
prefManager.setRecordingTrack(recordingTrackId);
diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/AntDirectSensorManager.java b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/AntDirectSensorManager.java
index b18c9137c..f9c2d6c4a 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/AntDirectSensorManager.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/AntDirectSensorManager.java
@@ -16,7 +16,8 @@
package com.google.android.apps.mytracks.services.sensors;
import static com.google.android.apps.mytracks.Constants.TAG;
-import com.google.android.apps.mytracks.MyTracksSettings;
+
+import com.google.android.apps.mytracks.Constants;
import com.google.android.apps.mytracks.content.Sensor;
import com.google.android.apps.mytracks.services.sensors.ant.AntChannelIdMessage;
import com.google.android.apps.mytracks.services.sensors.ant.AntChannelResponseMessage;
@@ -58,7 +59,7 @@ public class AntDirectSensorManager extends AntSensorManager {
// First read the the device id that we will be pairing with.
SharedPreferences prefs = context.getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, 0);
+ Constants.SETTINGS_NAME, 0);
if (prefs != null) {
deviceNumberHRM =
(short) prefs.getInt(context.getString(R.string.ant_heart_rate_sensor_id_key), 0);
@@ -133,7 +134,7 @@ public class AntDirectSensorManager extends AntSensorManager {
Log.i(TAG, "Found device id: " + deviceNumberHRM);
SharedPreferences prefs = context.getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, Context.MODE_PRIVATE);
+ Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(context.getString(R.string.ant_heart_rate_sensor_id_key), deviceNumberHRM);
editor.commit();
diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/AntSRMSensorManager.java b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/AntSRMSensorManager.java
index ea4ceb818..cddc0d57e 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/AntSRMSensorManager.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/AntSRMSensorManager.java
@@ -16,7 +16,6 @@
package com.google.android.apps.mytracks.services.sensors;
import com.google.android.apps.mytracks.Constants;
-import com.google.android.apps.mytracks.MyTracksSettings;
import com.google.android.apps.mytracks.content.Sensor;
import com.google.android.maps.mytracks.R;
@@ -71,7 +70,7 @@ public class AntSRMSensorManager extends AntSensorManager {
// First read the the device id that we will be announcing.
SharedPreferences prefs = context.getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, 0);
+ Constants.SETTINGS_NAME, 0);
if (prefs != null) {
deviceId = (byte) prefs.getInt(
context.getString(R.string.ant_srm_bridge_sensor_id_key),
@@ -133,7 +132,7 @@ public class AntSRMSensorManager extends AntSensorManager {
Log.i(Constants.TAG, "Found device id: " + deviceId);
SharedPreferences prefs = context.getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, Context.MODE_PRIVATE);
+ Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(context.getString(R.string.ant_srm_bridge_sensor_id_key), deviceId);
editor.commit();
diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/BluetoothSensorManager.java b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/BluetoothSensorManager.java
index a19013a2e..41fed2e52 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/BluetoothSensorManager.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/BluetoothSensorManager.java
@@ -16,7 +16,6 @@
package com.google.android.apps.mytracks.services.sensors;
import com.google.android.apps.mytracks.Constants;
-import com.google.android.apps.mytracks.MyTracksSettings;
import com.google.android.apps.mytracks.content.Sensor;
import com.google.android.maps.mytracks.R;
@@ -82,7 +81,7 @@ public class BluetoothSensorManager extends SensorManager {
return;
}
SharedPreferences prefs =
- context.getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ context.getSharedPreferences(Constants.SETTINGS_NAME, 0);
String address =
prefs.getString(context.getString(R.string.bluetooth_sensor_key), null);
if (address == null) {
diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/SensorManagerFactory.java b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/SensorManagerFactory.java
index cf0d3a458..051f9949e 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/SensorManagerFactory.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/SensorManagerFactory.java
@@ -16,7 +16,6 @@
package com.google.android.apps.mytracks.services.sensors;
import com.google.android.apps.mytracks.Constants;
-import com.google.android.apps.mytracks.MyTracksSettings;
import com.google.android.maps.mytracks.R;
import android.content.Context;
@@ -40,7 +39,7 @@ public class SensorManagerFactory {
*/
public static SensorManager getSensorManager(Context context) {
SharedPreferences prefs =
- context.getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ context.getSharedPreferences(Constants.SETTINGS_NAME, 0);
if (prefs == null) {
return null;
}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/stats/TripStatisticsBuilder.java b/MyTracks/src/com/google/android/apps/mytracks/stats/TripStatisticsBuilder.java
index 5ca4c3d4f..ddad2394a 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/stats/TripStatisticsBuilder.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/stats/TripStatisticsBuilder.java
@@ -19,7 +19,7 @@ package com.google.android.apps.mytracks.stats;
import static com.google.android.apps.mytracks.Constants.TAG;
import com.google.android.apps.mytracks.Constants;
-import com.google.android.apps.mytracks.MyTracksSettings;
+import com.google.android.apps.mytracks.SettingsActivity;
import android.location.Location;
import android.util.Log;
@@ -93,7 +93,7 @@ public class TripStatisticsBuilder {
private long totalLocations = 0;
private int minRecordingDistance =
- MyTracksSettings.DEFAULT_MIN_RECORDING_DISTANCE;
+ Constants.DEFAULT_MIN_RECORDING_DISTANCE;
/**
* Creates a new trip starting at the given time.
diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/ChartURLGenerator.java b/MyTracks/src/com/google/android/apps/mytracks/util/ChartURLGenerator.java
index 3d55dc66b..5c0336192 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/util/ChartURLGenerator.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/util/ChartURLGenerator.java
@@ -16,7 +16,7 @@
package com.google.android.apps.mytracks.util;
-import com.google.android.apps.mytracks.MyTracksSettings;
+import com.google.android.apps.mytracks.Constants;
import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.stats.TripStatistics;
import com.google.android.maps.mytracks.R;
@@ -50,7 +50,7 @@ public class ChartURLGenerator {
public static String getChartUrl(Vector distances,
Vector elevations, Track track, Context context) {
SharedPreferences preferences =
- context.getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ context.getSharedPreferences(Constants.SETTINGS_NAME, 0);
boolean metricUnits = true;
if (preferences != null) {
metricUnits = preferences.getBoolean(
diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/MyTracksUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/LocationUtils.java
similarity index 74%
rename from MyTracks/src/com/google/android/apps/mytracks/util/MyTracksUtils.java
rename to MyTracks/src/com/google/android/apps/mytracks/util/LocationUtils.java
index 4cadca845..1786cf3a6 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/util/MyTracksUtils.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/util/LocationUtils.java
@@ -21,15 +21,7 @@ import com.google.android.apps.mytracks.stats.TripStatistics;
import com.google.android.maps.GeoPoint;
-import android.app.Activity;
-import android.content.Context;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.Signature;
import android.location.Location;
-import android.os.PowerManager;
-import android.os.PowerManager.WakeLock;
import android.util.Log;
import java.util.ArrayList;
@@ -41,9 +33,7 @@ import java.util.Stack;
*
* @author Leif Hendrik Wilden
*/
-public class MyTracksUtils {
- private static final int RELEASE_SIGNATURE_HASHCODE = -1855564782;
-
+public class LocationUtils {
/**
* Computes the distance on the two sphere between the point c0 and the line
* segment c1 to c2.
@@ -117,7 +107,7 @@ public class MyTracksUtils {
current = stack.pop();
maxDist = 0;
for (idx = current[0] + 1; idx < current[1]; ++idx) {
- dist = MyTracksUtils.distance(
+ dist = LocationUtils.distance(
locations.get(idx),
locations.get(current[0]),
locations.get(current[1]));
@@ -255,80 +245,9 @@ public class MyTracksUtils {
(int) (location.getLongitude() * 1E6));
}
- /**
- * Returns whether or not this is a release build.
- */
- public static boolean isRelease(Context context) {
- try {
- Signature [] sigs = context.getPackageManager().getPackageInfo(
- context.getPackageName(), PackageManager.GET_SIGNATURES).signatures;
- for (Signature sig : sigs) {
- if (sig.hashCode() == RELEASE_SIGNATURE_HASHCODE) {
- return true;
- }
- }
- } catch (NameNotFoundException e) {
- Log.e(Constants.TAG, "Unable to get signatures", e);
- }
- return false;
- }
-
- /**
- * Get the My Tracks version from the manifest.
- *
- * @return the version, or an empty string in case of failure.
- */
- public static String getMyTracksVersion(Context context) {
- try {
- PackageInfo pi = context.getPackageManager().getPackageInfo(
- "com.google.android.maps.mytracks",
- PackageManager.GET_META_DATA);
- return pi.versionName;
- } catch (NameNotFoundException e) {
- Log.w(Constants.TAG, "Failed to get version info.", e);
- return "";
- }
- }
-
- /**
- * Tries to acquire a partial wake lock if not already acquired. Logs errors
- * and gives up trying in case the wake lock cannot be acquired.
- */
- public static WakeLock acquireWakeLock(Activity activity, WakeLock wakeLock) {
- Log.i(Constants.TAG, "MyTracksUtils: Acquiring wake lock.");
- try {
- PowerManager pm = (PowerManager) activity
- .getSystemService(Context.POWER_SERVICE);
- if (pm == null) {
- Log.e(Constants.TAG, "MyTracksUtils: Power manager not found!");
- return wakeLock;
- }
- if (wakeLock == null) {
- wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
- Constants.TAG);
- if (wakeLock == null) {
- Log.e(Constants.TAG,
- "MyTracksUtils: Could not create wake lock (null).");
- }
- return wakeLock;
- }
- if (!wakeLock.isHeld()) {
- wakeLock.acquire();
- if (!wakeLock.isHeld()) {
- Log.e(Constants.TAG,
- "MyTracksUtils: Could not acquire wake lock.");
- }
- }
- } catch (RuntimeException e) {
- Log.e(Constants.TAG,
- "MyTracksUtils: Caught unexpected exception: " + e.getMessage(), e);
- }
- return wakeLock;
- }
-
/**
* This is a utility class w/ only static members.
*/
- protected MyTracksUtils() {
+ private LocationUtils() {
}
}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/StringUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/StringUtils.java
index b6b8baace..05d87c61d 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/util/StringUtils.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/util/StringUtils.java
@@ -15,7 +15,7 @@
*/
package com.google.android.apps.mytracks.util;
-import com.google.android.apps.mytracks.MyTracksSettings;
+import com.google.android.apps.mytracks.Constants;
import com.google.android.apps.mytracks.content.DescriptionGenerator;
import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.content.Waypoint;
@@ -245,7 +245,7 @@ public class StringUtils implements DescriptionGenerator {
Vector elevations) {
boolean displaySpeed = true;
SharedPreferences preferences =
- context.getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
+ context.getSharedPreferences(Constants.SETTINGS_NAME, 0);
if (preferences != null) {
displaySpeed =
preferences.getBoolean(context.getString(R.string.report_speed_key), true);
diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/SystemUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/SystemUtils.java
new file mode 100644
index 000000000..c45c88308
--- /dev/null
+++ b/MyTracks/src/com/google/android/apps/mytracks/util/SystemUtils.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.android.apps.mytracks.util;
+
+import com.google.android.apps.mytracks.Constants;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.pm.Signature;
+import android.os.PowerManager;
+import android.os.PowerManager.WakeLock;
+import android.util.Log;
+
+/**
+ * Utility class for acessing basic Android functionality.
+ *
+ * @author Rodrigo Damazio
+ */
+public class SystemUtils {
+
+ private static final int RELEASE_SIGNATURE_HASHCODE = -1855564782;
+
+ /**
+ * Returns whether or not this is a release build.
+ */
+ public static boolean isRelease(Context context) {
+ try {
+ Signature [] sigs = context.getPackageManager().getPackageInfo(
+ context.getPackageName(), PackageManager.GET_SIGNATURES).signatures;
+ for (Signature sig : sigs) {
+ if (sig.hashCode() == RELEASE_SIGNATURE_HASHCODE) {
+ return true;
+ }
+ }
+ } catch (NameNotFoundException e) {
+ Log.e(Constants.TAG, "Unable to get signatures", e);
+ }
+ return false;
+ }
+
+ /**
+ * Get the My Tracks version from the manifest.
+ *
+ * @return the version, or an empty string in case of failure.
+ */
+ public static String getMyTracksVersion(Context context) {
+ try {
+ PackageInfo pi = context.getPackageManager().getPackageInfo(
+ "com.google.android.maps.mytracks",
+ PackageManager.GET_META_DATA);
+ return pi.versionName;
+ } catch (NameNotFoundException e) {
+ Log.w(Constants.TAG, "Failed to get version info.", e);
+ return "";
+ }
+ }
+
+ /**
+ * Tries to acquire a partial wake lock if not already acquired. Logs errors
+ * and gives up trying in case the wake lock cannot be acquired.
+ */
+ public static WakeLock acquireWakeLock(Activity activity, WakeLock wakeLock) {
+ Log.i(Constants.TAG, "LocationUtils: Acquiring wake lock.");
+ try {
+ PowerManager pm = (PowerManager) activity
+ .getSystemService(Context.POWER_SERVICE);
+ if (pm == null) {
+ Log.e(Constants.TAG, "LocationUtils: Power manager not found!");
+ return wakeLock;
+ }
+ if (wakeLock == null) {
+ wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
+ Constants.TAG);
+ if (wakeLock == null) {
+ Log.e(Constants.TAG,
+ "LocationUtils: Could not create wake lock (null).");
+ }
+ return wakeLock;
+ }
+ if (!wakeLock.isHeld()) {
+ wakeLock.acquire();
+ if (!wakeLock.isHeld()) {
+ Log.e(Constants.TAG,
+ "LocationUtils: Could not acquire wake lock.");
+ }
+ }
+ } catch (RuntimeException e) {
+ Log.e(Constants.TAG,
+ "LocationUtils: Caught unexpected exception: " + e.getMessage(), e);
+ }
+ return wakeLock;
+ }
+
+ private SystemUtils() {}
+}
\ No newline at end of file
diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/MyTracksOverlayTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/MapOverlayTest.java
similarity index 97%
rename from MyTracksTest/src/com/google/android/apps/mytracks/MyTracksOverlayTest.java
rename to MyTracksTest/src/com/google/android/apps/mytracks/MapOverlayTest.java
index 06049f4d7..3ea8d4a11 100644
--- a/MyTracksTest/src/com/google/android/apps/mytracks/MyTracksOverlayTest.java
+++ b/MyTracksTest/src/com/google/android/apps/mytracks/MapOverlayTest.java
@@ -39,17 +39,17 @@ import java.util.List;
*
* @author Bartlomiej Niechwiej
*/
-public class MyTracksOverlayTest extends AndroidTestCase {
+public class MapOverlayTest extends AndroidTestCase {
private Canvas canvas;
private MockMyTracksOverlay myTracksOverlay;
private MapView mockView;
private Projection mockProjection;
/**
- * A mock version of {@code MyTracksOverlay} that does not use
+ * A mock version of {@code MapOverlay} that does not use
* {@class MapView}.
*/
- private class MockMyTracksOverlay extends MyTracksOverlay {
+ private class MockMyTracksOverlay extends MapOverlay {
public MockMyTracksOverlay(Context context) {
super(context);
}
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 b2d2f21f8..0f4c13ca8 100644
--- a/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java
+++ b/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java
@@ -17,7 +17,7 @@ package com.google.android.apps.mytracks.services;
import static com.google.android.apps.mytracks.Constants.RESUME_TRACK_EXTRA_NAME;
-import com.google.android.apps.mytracks.MyTracksSettings;
+import com.google.android.apps.mytracks.Constants;
import com.google.android.apps.mytracks.content.MyTracksProvider;
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
import com.google.android.apps.mytracks.content.Track;
@@ -152,7 +152,7 @@ public class TrackRecordingServiceTest
providerUtils = MyTracksProviderUtils.Factory.get(context);
sharedPreferences = context.getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, 0);
+ Constants.SETTINGS_NAME, 0);
// Let's use default values.
sharedPreferences.edit().clear().commit();
diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/AntDirectSensorManagerTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/AntDirectSensorManagerTest.java
index ea0e482ae..6cff03544 100644
--- a/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/AntDirectSensorManagerTest.java
+++ b/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/AntDirectSensorManagerTest.java
@@ -16,7 +16,7 @@
package com.google.android.apps.mytracks.services.sensors;
import com.dsi.ant.AntMesg;
-import com.google.android.apps.mytracks.MyTracksSettings;
+import com.google.android.apps.mytracks.Constants;
import com.google.android.apps.mytracks.content.Sensor;
import com.google.android.maps.mytracks.R;
@@ -31,7 +31,7 @@ public class AntDirectSensorManagerTest extends AndroidTestCase {
public void setUp() {
sharedPreferences = getContext().getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, 0);
+ Constants.SETTINGS_NAME, 0);
// Let's use default values.
sharedPreferences.edit().clear().commit();
manager = new AntDirectSensorManager(getContext());
diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/SensorManagerFactoryTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/SensorManagerFactoryTest.java
index 3951aa3c1..b25c9a9f2 100644
--- a/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/SensorManagerFactoryTest.java
+++ b/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/SensorManagerFactoryTest.java
@@ -1,6 +1,6 @@
package com.google.android.apps.mytracks.services.sensors;
-import com.google.android.apps.mytracks.MyTracksSettings;
+import com.google.android.apps.mytracks.Constants;
import com.google.android.maps.mytracks.R;
import android.content.SharedPreferences;
@@ -16,7 +16,7 @@ public class SensorManagerFactoryTest extends AndroidTestCase {
super.setUp();
sharedPreferences = getContext().getSharedPreferences(
- MyTracksSettings.SETTINGS_NAME, 0);
+ Constants.SETTINGS_NAME, 0);
// Let's use default values.
sharedPreferences.edit().clear().commit();
}