From 89b1c6debe7a300f3966a03da8952cf218ec7e7b Mon Sep 17 00:00:00 2001 From: Jimmy Shih Date: Tue, 9 Jul 2013 14:12:52 -0700 Subject: [PATCH] Chagne gps accuracy default tp 50m --- .../res/values/arrays_do_not_translate.xml | 4 ++-- MyTracks/res/values/keys.xml | 2 +- MyTracks/res/xml/recording_settings.xml | 4 ++-- .../apps/mytracks/content/TrackDataHub.java | 22 ++++++++--------- .../mytracks/content/TrackDataListener.java | 6 ++--- .../mytracks/fragments/ChartFragment.java | 2 +- .../fragments/MyTracksMapFragment.java | 8 +++---- .../mytracks/fragments/StatsFragment.java | 8 +++---- .../services/TrackRecordingService.java | 13 +++++----- .../settings/RecordingSettingsActivity.java | 24 +++++++++---------- .../apps/mytracks/util/PreferencesUtils.java | 10 ++++---- .../mytracks/content/TrackDataHubTest.java | 22 +++++++++-------- .../services/TrackRecordingServiceTest.java | 6 ++--- 13 files changed, 66 insertions(+), 65 deletions(-) diff --git a/MyTracks/res/values/arrays_do_not_translate.xml b/MyTracks/res/values/arrays_do_not_translate.xml index 74d9866ee..274ce4c26 100644 --- a/MyTracks/res/values/arrays_do_not_translate.xml +++ b/MyTracks/res/values/arrays_do_not_translate.xml @@ -143,16 +143,16 @@ limitations under the License. 900 1800 - + 10 20 + 30 50 100 200 500 1000 2000 - 5000 @string/settings_sensor_type_polar diff --git a/MyTracks/res/values/keys.xml b/MyTracks/res/values/keys.xml index c6d6c681e..ba427ba0d 100644 --- a/MyTracks/res/values/keys.xml +++ b/MyTracks/res/values/keys.xml @@ -33,7 +33,7 @@ limitations under the License. maxRecordingDistance minRecordingDistance minRecordingInterval - minRequiredAccuracy + recordingGpsAccuracy reportSpeed sensorType shareTrackInvite diff --git a/MyTracks/res/xml/recording_settings.xml b/MyTracks/res/xml/recording_settings.xml index 04747184f..3cea7be7b 100644 --- a/MyTracks/res/xml/recording_settings.xml +++ b/MyTracks/res/xml/recording_settings.xml @@ -46,8 +46,8 @@ limitations under the License. android:key="@string/max_recording_distance_key" android:title="@string/settings_recording_max_recording_distance_title" /> minRequiredAccuracy) { + if (location.getAccuracy() > recordingGpsAccuracy) { Log.d(TAG, "Ignore onLocationChangedAsync. Poor accuracy."); return; } diff --git a/MyTracks/src/com/google/android/apps/mytracks/settings/RecordingSettingsActivity.java b/MyTracks/src/com/google/android/apps/mytracks/settings/RecordingSettingsActivity.java index 06da4b795..505ff4427 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/settings/RecordingSettingsActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/settings/RecordingSettingsActivity.java @@ -55,8 +55,8 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity { configListPreference(R.string.max_recording_distance_key, PreferencesUtils.MAX_RECORDING_DISTANCE_DEFAULT, R.array.max_recording_distance_values, metricUnits); - configListPreference(R.string.min_required_accuracy_key, - PreferencesUtils.MIN_REQUIRED_ACCURACY_DEFAULT, R.array.min_required_accuracy_values, + configListPreference(R.string.recording_gps_accuracy_key, + PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT, R.array.recording_gps_accuracy_values, metricUnits); configListPreference(R.string.auto_resume_track_timeout_key, PreferencesUtils.AUTO_RESUME_TRACK_TIMEOUT_DEFAULT, @@ -121,8 +121,8 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity { case R.string.max_recording_distance_key: setMaxRecordingDistanceSummaryAndOptions(summary, options, values, metricUnits); break; - case R.string.min_required_accuracy_key: - setMinRequiredAccuracySummaryAndOptions(summary, options, values, metricUnits); + case R.string.recording_gps_accuracy_key: + setRecordingGpsAccuracySummaryAndOptions(summary, options, values, metricUnits); break; case R.string.auto_resume_track_timeout_key: setAutoResumeTrackTimeoutSummaryAndOptions(summary, options, values); @@ -248,14 +248,14 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity { } /** - * Sets the min required accuracy summary and options. + * Sets the recording gps accuracy summary and options. * * @param summary the summary * @param options the options * @param values the values * @param metricUnits true for metric units */ - private void setMinRequiredAccuracySummaryAndOptions( + private void setRecordingGpsAccuracySummaryAndOptions( String[] summary, String[] options, String[] values, boolean metricUnits) { for (int i = 0; i < values.length; i++) { int value = Integer.parseInt(values[i]); @@ -263,13 +263,13 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity { if (metricUnits) { displayValue = getString(R.string.value_integer_meter, value); switch (value) { - case PreferencesUtils.MIN_REQUIRED_ACCURACY_DEFAULT: + case PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT: options[i] = getString(R.string.value_integer_meter_recommended, value); break; - case PreferencesUtils.MIN_REQUIRED_ACCURACY_EXCELLENT: + case PreferencesUtils.RECORDING_GPS_ACCURACY_EXCELLENT: options[i] = getString(R.string.value_integer_meter_excellent_gps, value); break; - case PreferencesUtils.MIN_REQUIRED_ACCURACY_POOR: + case PreferencesUtils.RECORDING_GPS_ACCURACY_POOR: options[i] = getString(R.string.value_integer_meter_poor_gps, value); break; default: @@ -280,10 +280,10 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity { if (feet < 2000) { displayValue = getString(R.string.value_integer_feet, feet); switch (value) { - case PreferencesUtils.MIN_REQUIRED_ACCURACY_DEFAULT: + case PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT: options[i] = getString(R.string.value_integer_feet_recommended, feet); break; - case PreferencesUtils.MIN_REQUIRED_ACCURACY_EXCELLENT: + case PreferencesUtils.RECORDING_GPS_ACCURACY_EXCELLENT: options[i] = getString(R.string.value_integer_feet_excellent_gps, feet); break; default: @@ -293,7 +293,7 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity { double mile = feet * UnitConversions.FT_TO_MI; displayValue = getString(R.string.value_float_mile, mile); switch (value) { - case PreferencesUtils.MIN_REQUIRED_ACCURACY_POOR: + case PreferencesUtils.RECORDING_GPS_ACCURACY_POOR: options[i] = getString(R.string.value_float_mile_poor_gps, mile); break; default: diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java index 8d54360ef..01b8134fa 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java @@ -83,11 +83,11 @@ public class PreferencesUtils { public static final int MIN_RECORDING_INTERVAL_ADAPT_BATTERY_LIFE = -2; public static final int MIN_RECORDING_INTERVAL_DEFAULT = 0; - // Values for min_required_accuracy - public static final int MIN_REQUIRED_ACCURACY_DEFAULT = 200; - public static final int MIN_REQUIRED_ACCURACY_EXCELLENT = 10; - public static final int MIN_REQUIRED_ACCURACY_POOR = 5000; - + // Values for recording_gps_accuracy + public static final int RECORDING_GPS_ACCURACY_DEFAULT = 50; + public static final int RECORDING_GPS_ACCURACY_EXCELLENT = 10; + public static final int RECORDING_GPS_ACCURACY_POOR = 2000; + public static final long RECORDING_TRACK_ID_DEFAULT = -1L; public static final boolean RECORDING_TRACK_PAUSED_DEFAULT = true; public static final boolean REPORT_SPEED_DEFAULT = true; diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/content/TrackDataHubTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/content/TrackDataHubTest.java index dddd14f01..f0186bbe7 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/content/TrackDataHubTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/content/TrackDataHubTest.java @@ -529,21 +529,23 @@ public class TrackDataHubTest extends AndroidTestCase { PreferencesUtils.setBoolean(context, R.string.report_speed_key, true); PreferencesUtils.setString( context, R.string.stats_units_key, PreferencesUtils.STATS_UNITS_DEFAULT); - PreferencesUtils.setInt(context, R.string.min_required_accuracy_key, - PreferencesUtils.MIN_REQUIRED_ACCURACY_DEFAULT); + PreferencesUtils.setInt(context, R.string.recording_gps_accuracy_key, + PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT); PreferencesUtils.setInt(context, R.string.min_recording_distance_key, PreferencesUtils.MIN_RECORDING_DISTANCE_DEFAULT); dataSource.registerOnSharedPreferenceChangeListener(capture(preferenceChangeListenerCapture)); expect(trackDataListener1.onMetricUnitsChanged(true)).andReturn(false); expect(trackDataListener1.onReportSpeedChanged(true)).andReturn(false); - expect(trackDataListener1.onMinRequiredAccuracy(PreferencesUtils.MIN_REQUIRED_ACCURACY_DEFAULT)) + expect( + trackDataListener1.onRecordingGpsAccuracy(PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT)) .andReturn(false); expect(trackDataListener1.onMinRecordingDistanceChanged( PreferencesUtils.MIN_RECORDING_DISTANCE_DEFAULT)).andReturn(false); expect(trackDataListener2.onMetricUnitsChanged(true)).andReturn(false); expect(trackDataListener2.onReportSpeedChanged(true)).andReturn(false); - expect(trackDataListener2.onMinRequiredAccuracy(PreferencesUtils.MIN_REQUIRED_ACCURACY_DEFAULT)) + expect( + trackDataListener2.onRecordingGpsAccuracy(PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT)) .andReturn(false); expect(trackDataListener2.onMinRecordingDistanceChanged( PreferencesUtils.MIN_RECORDING_DISTANCE_DEFAULT)).andReturn(false); @@ -749,14 +751,14 @@ public class TrackDataHubTest extends AndroidTestCase { */ public void testNotifyPreferenceChanged_minRequiredAccuracy() { int value = 1; - PreferencesUtils.setInt(context, R.string.min_required_accuracy_key, value); + PreferencesUtils.setInt(context, R.string.recording_gps_accuracy_key, value); trackDataHub.notifyPreferenceChanged(PreferencesUtils - .getKey(context, R.string.min_required_accuracy_key)); - assertEquals(value, trackDataHub.getMinRequiredAccuracy()); - PreferencesUtils.setInt(context, R.string.min_required_accuracy_key, value + 1); + .getKey(context, R.string.recording_gps_accuracy_key)); + assertEquals(value, trackDataHub.getRecordingGpsAccuracy()); + PreferencesUtils.setInt(context, R.string.recording_gps_accuracy_key, value + 1); trackDataHub.notifyPreferenceChanged(PreferencesUtils - .getKey(context, R.string.min_required_accuracy_key)); - assertEquals(value + 1, trackDataHub.getMinRequiredAccuracy()); + .getKey(context, R.string.recording_gps_accuracy_key)); + assertEquals(value + 1, trackDataHub.getRecordingGpsAccuracy()); } /** 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 d84e36a24..6e9056403 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java @@ -669,14 +669,14 @@ public class TrackRecordingServiceTest extends ServiceTestCase