From 818b42b97e33eb4e18593e0dcef7695d5c878782 Mon Sep 17 00:00:00 2001 From: Rodrigo Damazio Date: Mon, 21 Mar 2011 02:19:06 -0700 Subject: [PATCH] Finishing Sandor's renaming. --- MyTracks/AndroidManifest.xml | 6 +- .../mytracks/AggregatedStatsActivity.java | 2 +- ...yTracksReceiver.java => BootReceiver.java} | 6 +- .../android/apps/mytracks/ChartActivity.java | 4 +- .../android/apps/mytracks/CheckUnits.java | 2 +- .../android/apps/mytracks/Constants.java | 14 +++ .../apps/mytracks/DeleteAllTracks.java | 2 +- .../apps/mytracks/ExportAllTracks.java | 6 +- .../apps/mytracks/ImportAllTracks.java | 6 +- .../{MyTracksMap.java => MapActivity.java} | 31 +++-- .../{MyTracksOverlay.java => MapOverlay.java} | 16 +-- .../android/apps/mytracks/MenuManager.java | 2 +- .../android/apps/mytracks/MyTracks.java | 12 +- ...cksSettings.java => SettingsActivity.java} | 26 +--- .../android/apps/mytracks/TrackDataHub.java | 12 +- .../android/apps/mytracks/TrackList.java | 2 +- .../apps/mytracks/WaypointDetails.java | 2 +- .../android/apps/mytracks/WaypointsList.java | 2 +- .../apps/mytracks/WelcomeActivity.java | 4 +- .../android/apps/mytracks/io/GpxImporter.java | 4 +- .../android/apps/mytracks/io/SendToDocs.java | 3 +- .../apps/mytracks/io/SendToFusionTables.java | 14 +-- .../apps/mytracks/io/SendToMyMaps.java | 13 +- .../apps/mytracks/io/TcxTrackWriter.java | 10 +- .../android/apps/mytracks/io/TrackWriter.java | 4 +- .../io/backup/ExternalFileBackup.java | 5 +- .../io/backup/MyTracksBackupAgent.java | 5 +- .../mytracks/io/sendtogoogle/SendDialog.java | 6 +- .../services/DefaultTrackNameFactory.java | 4 +- .../mytracks/services/PreferenceManager.java | 13 +- .../services/StatusAnnouncerTask.java | 3 +- .../services/TrackRecordingService.java | 21 ++-- .../sensors/AntDirectSensorManager.java | 7 +- .../services/sensors/AntSRMSensorManager.java | 5 +- .../sensors/BluetoothSensorManager.java | 3 +- .../sensors/SensorManagerFactory.java | 3 +- .../mytracks/stats/TripStatisticsBuilder.java | 4 +- .../apps/mytracks/util/ChartURLGenerator.java | 4 +- ...{MyTracksUtils.java => LocationUtils.java} | 87 +------------- .../apps/mytracks/util/StringUtils.java | 4 +- .../apps/mytracks/util/SystemUtils.java | 111 ++++++++++++++++++ ...ksOverlayTest.java => MapOverlayTest.java} | 6 +- .../services/TrackRecordingServiceTest.java | 4 +- .../sensors/AntDirectSensorManagerTest.java | 4 +- .../sensors/SensorManagerFactoryTest.java | 4 +- 45 files changed, 264 insertions(+), 244 deletions(-) rename MyTracks/src/com/google/android/apps/mytracks/{MyTracksReceiver.java => BootReceiver.java} (91%) rename MyTracks/src/com/google/android/apps/mytracks/{MyTracksMap.java => MapActivity.java} (95%) rename MyTracks/src/com/google/android/apps/mytracks/{MyTracksOverlay.java => MapOverlay.java} (96%) rename MyTracks/src/com/google/android/apps/mytracks/{MyTracksSettings.java => SettingsActivity.java} (93%) rename MyTracks/src/com/google/android/apps/mytracks/util/{MyTracksUtils.java => LocationUtils.java} (74%) create mode 100644 MyTracks/src/com/google/android/apps/mytracks/util/SystemUtils.java rename MyTracksTest/src/com/google/android/apps/mytracks/{MyTracksOverlayTest.java => MapOverlayTest.java} (97%) 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(); }