diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/handlers/GpsStatusTest.java b/src/androidTest/java/de/dennisguse/opentracks/services/handlers/GpsStatusTest.java index c241b68f2..0fb214bbe 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/handlers/GpsStatusTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/handlers/GpsStatusTest.java @@ -100,7 +100,7 @@ public class GpsStatusTest { // given GpsStatusManager subject = new GpsStatusManager(context, statusList::add, new Handler()); subject.onRecordingDistanceChanged(Distance.of(10)); - subject.onMinRecordingIntervalChanged(GpsStatusManager.SIGNAL_LOST_THRESHOLD.multipliedBy(-1)); + subject.onMinSamplingIntervalChanged(GpsStatusManager.SIGNAL_LOST_THRESHOLD.multipliedBy(-1)); // when / then subject.start(); @@ -124,7 +124,7 @@ public class GpsStatusTest { // given GpsStatusManager subject = new GpsStatusManager(context, statusList::add, new Handler(handlerThread.getLooper())); subject.onRecordingDistanceChanged(Distance.of(10)); - subject.onMinRecordingIntervalChanged(GpsStatusManager.SIGNAL_LOST_THRESHOLD.multipliedBy(-1).plus(Duration.ofMillis(10))); + subject.onMinSamplingIntervalChanged(GpsStatusManager.SIGNAL_LOST_THRESHOLD.multipliedBy(-1).plus(Duration.ofMillis(10))); // when / then subject.start(); diff --git a/src/main/java/de/dennisguse/opentracks/services/handlers/GPSManager.java b/src/main/java/de/dennisguse/opentracks/services/handlers/GPSManager.java index e15ec2f41..c000292f9 100644 --- a/src/main/java/de/dennisguse/opentracks/services/handlers/GPSManager.java +++ b/src/main/java/de/dennisguse/opentracks/services/handlers/GPSManager.java @@ -79,13 +79,13 @@ public class GPSManager implements SensorConnector, LocationListenerCompat, GpsS public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { boolean registerListener = false; - if (PreferencesUtils.isKey(R.string.min_recording_interval_key, key)) { + if (PreferencesUtils.isKey(R.string.min_sampling_interval_key, key)) { registerListener = true; - gpsInterval = PreferencesUtils.getMinRecordingInterval(); + gpsInterval = PreferencesUtils.getMinSamplingInterval(); if (gpsStatusManager != null) { - gpsStatusManager.onMinRecordingIntervalChanged(gpsInterval); + gpsStatusManager.onMinSamplingIntervalChanged(gpsInterval); } } if (PreferencesUtils.isKey(R.string.recording_gps_accuracy_key, key)) { diff --git a/src/main/java/de/dennisguse/opentracks/services/handlers/GpsStatusManager.java b/src/main/java/de/dennisguse/opentracks/services/handlers/GpsStatusManager.java index dd9543786..136eeebb7 100644 --- a/src/main/java/de/dennisguse/opentracks/services/handlers/GpsStatusManager.java +++ b/src/main/java/de/dennisguse/opentracks/services/handlers/GpsStatusManager.java @@ -50,7 +50,7 @@ class GpsStatusManager { this.handler = handler; onRecordingDistanceChanged(PreferencesUtils.getRecordingDistanceInterval()); - onMinRecordingIntervalChanged(PreferencesUtils.getMinRecordingInterval()); + onMinSamplingIntervalChanged(PreferencesUtils.getMinSamplingInterval()); } public void start() { @@ -76,7 +76,7 @@ class GpsStatusManager { horizontalAccuracyThreshold = value; } - public void onMinRecordingIntervalChanged(Duration value) { + public void onMinSamplingIntervalChanged(Duration value) { signalLostThreshold = SIGNAL_LOST_THRESHOLD.plus(value); //TODO Reschedule gpsStatusTimer? } diff --git a/src/main/java/de/dennisguse/opentracks/settings/GpsSettingsFragment.java b/src/main/java/de/dennisguse/opentracks/settings/GpsSettingsFragment.java index 44b087d07..bcf0d1394 100644 --- a/src/main/java/de/dennisguse/opentracks/settings/GpsSettingsFragment.java +++ b/src/main/java/de/dennisguse/opentracks/settings/GpsSettingsFragment.java @@ -28,7 +28,7 @@ public class GpsSettingsFragment extends PreferenceFragmentCompat { .setSummaryProvider( preference -> { Distance distance = PreferencesUtils.getRecordingDistanceInterval(); - return getString(R.string.settings_recording_location_frequency_summary, formatter.formatDistance(distance)); + return getString(R.string.settings_recording_location_distance_summary, formatter.formatDistance(distance)); } ); @@ -48,10 +48,10 @@ public class GpsSettingsFragment extends PreferenceFragmentCompat { } ); - findPreference(getString(R.string.min_recording_interval_key)) + findPreference(getString(R.string.min_sampling_interval_key)) .setSummaryProvider( preference -> { - Duration interval = PreferencesUtils.getMinRecordingInterval(); + Duration interval = PreferencesUtils.getMinSamplingInterval(); return getString(R.string.settings_recording_location_frequency_summary, getString(R.string.value_integer_second, interval.getSeconds())); } ); @@ -67,8 +67,8 @@ public class GpsSettingsFragment extends PreferenceFragmentCompat { public void onResume() { super.onResume(); - ListPreference minRecordingInterval = findPreference(getString(R.string.min_recording_interval_key)); - minRecordingInterval.setEntries(PreferencesUtils.getMinRecordingIntervalEntries()); + ListPreference minSamplingInterval = findPreference(getString(R.string.min_sampling_interval_key)); + minSamplingInterval.setEntries(PreferencesUtils.getMinSamplingIntervalEntries()); ListPreference recordingDistanceInterval = findPreference(getString(R.string.recording_distance_interval_key)); recordingDistanceInterval.setEntries(PreferencesUtils.getRecordingDistanceIntervalEntries()); diff --git a/src/main/java/de/dennisguse/opentracks/settings/PreferencesUtils.java b/src/main/java/de/dennisguse/opentracks/settings/PreferencesUtils.java index 531aa4fbf..cb8ec5e28 100644 --- a/src/main/java/de/dennisguse/opentracks/settings/PreferencesUtils.java +++ b/src/main/java/de/dennisguse/opentracks/settings/PreferencesUtils.java @@ -535,18 +535,18 @@ public class PreferencesUtils { return entries; } - public static Duration getMinRecordingInterval() { - final Duration MIN_RECORDING_INTERVAL = getMinRecordingIntervalDefault(); - return Duration.ofSeconds(getInt(R.string.min_recording_interval_key, (int) MIN_RECORDING_INTERVAL.getSeconds())); + public static Duration getMinSamplingInterval() { + final Duration MIN_SAMPLING_INTERVAL = getMinSamplingIntervalDefault(); + return Duration.ofSeconds(getInt(R.string.min_sampling_interval_key, (int) MIN_SAMPLING_INTERVAL.getSeconds())); } - public static Duration getMinRecordingIntervalDefault() { - return Duration.ofSeconds(Integer.parseInt(resources.getString(R.string.min_recording_interval_default))); + public static Duration getMinSamplingIntervalDefault() { + return Duration.ofSeconds(Integer.parseInt(resources.getString(R.string.min_sampling_interval_default))); } - static String[] getMinRecordingIntervalEntries() { - String[] entryValues = resources.getStringArray(R.array.min_recording_interval_values); - long recommended = PreferencesUtils.getMinRecordingIntervalDefault().getSeconds(); + static String[] getMinSamplingIntervalEntries() { + String[] entryValues = resources.getStringArray(R.array.min_sampling_interval_values); + long recommended = PreferencesUtils.getMinSamplingIntervalDefault().getSeconds(); String[] entries = new String[entryValues.length]; for (int i = 0; i < entryValues.length; i++) { int value = Integer.parseInt(entryValues[i]); diff --git a/src/main/res/values/settings.xml b/src/main/res/values/settings.xml index 97e18a979..7610e13a1 100644 --- a/src/main/res/values/settings.xml +++ b/src/main/res/values/settings.xml @@ -90,10 +90,10 @@ 5000 - minRecordingIntervalV2 - 0 - - @string/min_recording_interval_default + minRecordingIntervalV2 + 0 + + @string/min_sampling_interval_default 2 3 4 diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index b0f88277f..756e3a42a 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -388,7 +388,7 @@ limitations under the License. Fullscreen While recording, present in fullscreen. Default activity type - %1$s between recorded locations + %1$s between location checks A new segment is created if the distance between two locations is greater than %1$s Max distance Recording distance interval @@ -709,4 +709,6 @@ limitations under the License. Always OpenTracks itself does not provide a map. Please install OSMDashboard to view your recordings on a map. + Sampling time interval + %1$s between recorded locations diff --git a/src/main/res/xml/settings_gps.xml b/src/main/res/xml/settings_gps.xml index 6e4bba356..4eaa5f5b3 100644 --- a/src/main/res/xml/settings_gps.xml +++ b/src/main/res/xml/settings_gps.xml @@ -5,10 +5,10 @@ android:title="@string/settings_gps_title"> + android:defaultValue="@string/min_sampling_interval_default" + android:entryValues="@array/min_sampling_interval_values" + android:key="@string/min_sampling_interval_key" + android:title="@string/settings_recording_min_sampling_interval_title" />