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