forked from upstream-mirrors/OpenTracks
Settings: separate recording settings (move GPS to sensors).
This commit is contained in:
@@ -7,10 +7,15 @@ import android.widget.Toast;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.preference.EditTextPreference;
|
||||
import androidx.preference.ListPreference;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
|
||||
import java.time.Duration;
|
||||
|
||||
import de.dennisguse.opentracks.R;
|
||||
import de.dennisguse.opentracks.data.models.Distance;
|
||||
import de.dennisguse.opentracks.data.models.DistanceFormatter;
|
||||
import de.dennisguse.opentracks.settings.bluetooth.BluetoothLeSensorPreference;
|
||||
import de.dennisguse.opentracks.util.PermissionRequester;
|
||||
|
||||
@@ -22,6 +27,29 @@ public class SensorsSettingsFragment extends PreferenceFragmentCompat {
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
addPreferencesFromResource(R.xml.settings_sensors);
|
||||
setWheelCircumferenceInputFilter();
|
||||
|
||||
UnitSystem unitSystem = PreferencesUtils.getUnitSystem();
|
||||
|
||||
final DistanceFormatter formatter = DistanceFormatter.Builder()
|
||||
.setDecimalCount(0)
|
||||
.setUnit(unitSystem)
|
||||
.build(getContext());
|
||||
|
||||
findPreference(getString(R.string.recording_gps_accuracy_key))
|
||||
.setSummaryProvider(
|
||||
preference -> {
|
||||
Distance distance = PreferencesUtils.getThresholdHorizontalAccuracy();
|
||||
return getString(R.string.settings_recording_min_required_accuracy_summary, formatter.formatDistance(distance));
|
||||
}
|
||||
);
|
||||
|
||||
findPreference(getString(R.string.min_sampling_interval_key))
|
||||
.setSummaryProvider(
|
||||
preference -> {
|
||||
Duration interval = PreferencesUtils.getMinSamplingInterval();
|
||||
return getString(R.string.settings_recording_location_frequency_summary, getString(R.string.value_integer_second, interval.getSeconds()));
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -30,6 +58,18 @@ public class SensorsSettingsFragment extends PreferenceFragmentCompat {
|
||||
((SettingsActivity) getActivity()).getSupportActionBar().setTitle(R.string.settings_sensors_title);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
||||
ListPreference minSamplingInterval = findPreference(getString(R.string.min_sampling_interval_key));
|
||||
minSamplingInterval.setEntries(PreferencesUtils.getMinSamplingIntervalEntries());
|
||||
|
||||
ListPreference recordingGpsAccuracy = findPreference(getString(R.string.recording_gps_accuracy_key));
|
||||
recordingGpsAccuracy.setEntries(PreferencesUtils.getThresholdHorizontalAccuracyEntries());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisplayPreferenceDialog(Preference preference) {
|
||||
if (preference instanceof BluetoothLeSensorPreference) {
|
||||
|
||||
Reference in New Issue
Block a user