forked from upstream-mirrors/OpenTracks
Cleanup list preferences.
This commit is contained in:
@@ -61,46 +61,4 @@ public class AbstractSettingsActivity extends PreferenceActivity {
|
|||||||
finish();
|
finish();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Configures a list preference.
|
|
||||||
*
|
|
||||||
* @param listPreference the list preference
|
|
||||||
* @param options the options array
|
|
||||||
* @param values the values array
|
|
||||||
* @param value the value
|
|
||||||
* @param listener optional listener
|
|
||||||
*/
|
|
||||||
protected void configureListPreference(ListPreference listPreference, final String[] options, final String[] values, String value,
|
|
||||||
final OnPreferenceChangeListener listener) {
|
|
||||||
listPreference.setEntryValues(values);
|
|
||||||
listPreference.setEntries(options);
|
|
||||||
listPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
|
||||||
@Override
|
|
||||||
public boolean onPreferenceChange(Preference pref, Object newValue) {
|
|
||||||
if (listener != null) {
|
|
||||||
listener.onPreferenceChange(pref, newValue);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (listener != null) {
|
|
||||||
listener.onPreferenceChange(listPreference, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the array index for a value.
|
|
||||||
*
|
|
||||||
* @param values the array
|
|
||||||
* @param value the value
|
|
||||||
*/
|
|
||||||
private int getIndex(String[] values, String value) {
|
|
||||||
for (int i = 0; i < values.length; i++) {
|
|
||||||
if (value.equals(values[i])) {
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ public class ChartSettingsActivity extends AbstractSettingsActivity {
|
|||||||
protected void onCreate(Bundle bundle) {
|
protected void onCreate(Bundle bundle) {
|
||||||
super.onCreate(bundle);
|
super.onCreate(bundle);
|
||||||
addPreferencesFromResource(R.xml.settings_chart);
|
addPreferencesFromResource(R.xml.settings_chart);
|
||||||
configXAxisListPreference();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -44,22 +43,8 @@ public class ChartSettingsActivity extends AbstractSettingsActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateUi() {
|
private void updateUi() {
|
||||||
CheckBoxPreference speedCheckBoxPreference = (CheckBoxPreference) findPreference(
|
CheckBoxPreference speedCheckBoxPreference = (CheckBoxPreference) findPreference(getString(R.string.chart_show_speed_key));
|
||||||
getString(R.string.chart_show_speed_key));
|
speedCheckBoxPreference.setTitle(PreferencesUtils.isReportSpeed(this) ? R.string.stats_speed : R.string.stats_pace);
|
||||||
speedCheckBoxPreference.setTitle(
|
|
||||||
PreferencesUtils.isReportSpeed(this) ? R.string.stats_speed : R.string.stats_pace);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Configures the x axis list preference.
|
|
||||||
*/
|
|
||||||
private void configXAxisListPreference() {
|
|
||||||
ListPreference listPreference = (ListPreference) findPreference(
|
|
||||||
getString(R.string.chart_x_axis_key));
|
|
||||||
String value = PreferencesUtils.getString(
|
|
||||||
this, R.string.chart_x_axis_key, PreferencesUtils.CHART_X_AXIS_DEFAULT);
|
|
||||||
String[] values = getResources().getStringArray(R.array.chart_x_axis_values);
|
|
||||||
String[] options = getResources().getStringArray(R.array.chart_x_axis_options);
|
|
||||||
configureListPreference(listPreference, options, values, value, null);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,27 +47,17 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity
|
|||||||
|
|
||||||
boolean metricUnits = PreferencesUtils.isMetricUnits(this);
|
boolean metricUnits = PreferencesUtils.isMetricUnits(this);
|
||||||
|
|
||||||
configFrequencyPreference(R.string.voice_frequency_key,
|
configFrequencyPreference(R.string.voice_frequency_key, metricUnits);
|
||||||
PreferencesUtils.VOICE_FREQUENCY_DEFAULT, R.array.frequency_values, metricUnits);
|
configFrequencyPreference(R.string.split_frequency_key, metricUnits);
|
||||||
configFrequencyPreference(R.string.split_frequency_key,
|
|
||||||
PreferencesUtils.SPLIT_FREQUENCY_DEFAULT, R.array.frequency_values, metricUnits);
|
|
||||||
configTrackName();
|
|
||||||
configDefaultActivity();
|
configDefaultActivity();
|
||||||
configListPreference(R.string.min_recording_interval_key,
|
configListPreference(R.string.min_recording_interval_key, R.array.min_recording_interval_values,
|
||||||
PreferencesUtils.MIN_RECORDING_INTERVAL_DEFAULT, R.array.min_recording_interval_values,
|
|
||||||
metricUnits);
|
metricUnits);
|
||||||
configListPreference(R.string.recording_distance_interval_key,
|
configListPreference(R.string.recording_distance_interval_key, R.array.recording_distance_interval_values, metricUnits);
|
||||||
PreferencesUtils.RECORDING_DISTANCE_INTERVAL_DEFAULT,
|
configListPreference(R.string.max_recording_distance_key, R.array.max_recording_distance_values,
|
||||||
R.array.recording_distance_interval_values, metricUnits);
|
|
||||||
configListPreference(R.string.max_recording_distance_key,
|
|
||||||
PreferencesUtils.MAX_RECORDING_DISTANCE_DEFAULT, R.array.max_recording_distance_values,
|
|
||||||
metricUnits);
|
metricUnits);
|
||||||
configListPreference(R.string.recording_gps_accuracy_key,
|
configListPreference(R.string.recording_gps_accuracy_key, R.array.recording_gps_accuracy_values,
|
||||||
PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT, R.array.recording_gps_accuracy_values,
|
|
||||||
metricUnits);
|
metricUnits);
|
||||||
configListPreference(R.string.auto_resume_track_timeout_key,
|
configListPreference(R.string.auto_resume_track_timeout_key, R.array.auto_resume_track_timeout_values, metricUnits);
|
||||||
PreferencesUtils.AUTO_RESUME_TRACK_TIMEOUT_DEFAULT,
|
|
||||||
R.array.auto_resume_track_timeout_values, metricUnits);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -81,21 +71,11 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity
|
|||||||
return ChooseActivityTypeDialogFragment.getDialog(this, category, this);
|
return ChooseActivityTypeDialogFragment.getDialog(this, category, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void configFrequencyPreference(int key, int defaultValue, int valueArray, boolean metricUnits) {
|
private void configFrequencyPreference(int key, boolean metricUnits) {
|
||||||
ListPreference preference = (ListPreference) findPreference(getString(key));
|
ListPreference preference = (ListPreference) findPreference(getString(key));
|
||||||
int value = PreferencesUtils.getInt(this, key, defaultValue);
|
|
||||||
String[] values = getResources().getStringArray(valueArray);
|
|
||||||
String[] options = StringUtils.getFrequencyOptions(this, metricUnits);
|
|
||||||
configureListPreference(preference, options, values, String.valueOf(value), null);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void configTrackName() {
|
String[] options = StringUtils.getFrequencyOptions(this, metricUnits);
|
||||||
ListPreference preference = (ListPreference) findPreference(getString(R.string.track_name_key));
|
preference.setEntries(options);
|
||||||
String value = PreferencesUtils.getString(
|
|
||||||
this, R.string.track_name_key, PreferencesUtils.TRACK_NAME_DEFAULT);
|
|
||||||
String[] values = getResources().getStringArray(R.array.track_name_values);
|
|
||||||
String[] options = getResources().getStringArray(R.array.track_name_options);
|
|
||||||
configureListPreference(preference, options, values, value, null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void configDefaultActivity() {
|
private void configDefaultActivity() {
|
||||||
@@ -120,78 +100,69 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity
|
|||||||
activityTypePreference.setRecordingSettingsActivity(this);
|
activityTypePreference.setRecordingSettingsActivity(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void configListPreference(
|
private void configListPreference(int key, int valueArray, boolean metricUnits) {
|
||||||
int key, int defaultValue, int valueArray, boolean metricUnits) {
|
|
||||||
ListPreference preference = (ListPreference) findPreference(getString(key));
|
ListPreference preference = (ListPreference) findPreference(getString(key));
|
||||||
int value = PreferencesUtils.getInt(this, key, defaultValue);
|
|
||||||
|
@Deprecated
|
||||||
String[] values = getResources().getStringArray(valueArray);
|
String[] values = getResources().getStringArray(valueArray);
|
||||||
String[] options = new String[values.length];
|
String[] options = new String[values.length];
|
||||||
String[] summary = new String[values.length];
|
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case R.string.min_recording_interval_key:
|
case R.string.min_recording_interval_key:
|
||||||
setMinRecordingIntervalSummaryAndOptions(summary, options, values);
|
setMinRecordingIntervalOptions(options, values);
|
||||||
break;
|
break;
|
||||||
case R.string.recording_distance_interval_key:
|
case R.string.recording_distance_interval_key:
|
||||||
setRecordingDistanceIntervalSummaryAndOptions(summary, options, values, metricUnits);
|
setRecordingDistanceIntervalOptions(options, values, metricUnits);
|
||||||
break;
|
break;
|
||||||
case R.string.max_recording_distance_key:
|
case R.string.max_recording_distance_key:
|
||||||
setMaxRecordingDistanceSummaryAndOptions(summary, options, values, metricUnits);
|
setMaxRecordingDistanceOptions(options, values, metricUnits);
|
||||||
break;
|
break;
|
||||||
case R.string.recording_gps_accuracy_key:
|
case R.string.recording_gps_accuracy_key:
|
||||||
setRecordingGpsAccuracySummaryAndOptions(summary, options, values, metricUnits);
|
setRecordingGpsAccuracyOptions(options, values, metricUnits);
|
||||||
break;
|
break;
|
||||||
case R.string.auto_resume_track_timeout_key:
|
case R.string.auto_resume_track_timeout_key:
|
||||||
setAutoResumeTrackTimeoutSummaryAndOptions(summary, options, values);
|
setAutoResumeTrackTimeoutOptions(options, values);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
configureListPreference(preference, options, values, String.valueOf(value), null);
|
|
||||||
|
preference.setEntries(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the min recording interval summary and options.
|
* Sets the min recording interval options.
|
||||||
*
|
*
|
||||||
* @param summary the summary
|
|
||||||
* @param options the options
|
* @param options the options
|
||||||
* @param values the values
|
* @param values the values
|
||||||
*/
|
*/
|
||||||
private void setMinRecordingIntervalSummaryAndOptions(
|
private void setMinRecordingIntervalOptions(String[] options, String[] values) {
|
||||||
String[] summary, String[] options, String[] values) {
|
|
||||||
for (int i = 0; i < values.length; i++) {
|
for (int i = 0; i < values.length; i++) {
|
||||||
int value = Integer.parseInt(values[i]);
|
int value = Integer.parseInt(values[i]);
|
||||||
switch (value) {
|
switch (value) {
|
||||||
case PreferencesUtils.MIN_RECORDING_INTERVAL_ADAPT_BATTERY_LIFE:
|
case PreferencesUtils.MIN_RECORDING_INTERVAL_ADAPT_BATTERY_LIFE:
|
||||||
options[i] = getString(R.string.value_adapt_battery_life);
|
options[i] = getString(R.string.value_adapt_battery_life);
|
||||||
summary[i] = options[i];
|
|
||||||
break;
|
break;
|
||||||
case PreferencesUtils.MIN_RECORDING_INTERVAL_ADAPT_ACCURACY:
|
case PreferencesUtils.MIN_RECORDING_INTERVAL_ADAPT_ACCURACY:
|
||||||
options[i] = getString(R.string.value_adapt_accuracy);
|
options[i] = getString(R.string.value_adapt_accuracy);
|
||||||
summary[i] = options[i];
|
|
||||||
break;
|
break;
|
||||||
case PreferencesUtils.MIN_RECORDING_INTERVAL_DEFAULT:
|
case PreferencesUtils.MIN_RECORDING_INTERVAL_DEFAULT:
|
||||||
options[i] = getString(R.string.value_smallest_recommended);
|
options[i] = getString(R.string.value_smallest_recommended);
|
||||||
summary[i] = getString(R.string.value_smallest);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
options[i] = value < 60 ? getString(R.string.value_integer_second, value)
|
options[i] = value < 60 ? getString(R.string.value_integer_second, value)
|
||||||
: getString(R.string.value_integer_minute, value / 60);
|
: getString(R.string.value_integer_minute, value / 60);
|
||||||
summary[i] = getString(
|
|
||||||
R.string.settings_recording_location_frequency_summary, options[i]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the recording distance interval summary and options.
|
* Sets the recording distance interval options.
|
||||||
*
|
*
|
||||||
* @param summary the summary
|
|
||||||
* @param options the options
|
* @param options the options
|
||||||
* @param values the values
|
* @param values the values
|
||||||
* @param metricUnits true for metric units
|
* @param metricUnits true for metric units
|
||||||
*/
|
*/
|
||||||
private void setRecordingDistanceIntervalSummaryAndOptions(
|
private void setRecordingDistanceIntervalOptions(String[] options, String[] values, boolean metricUnits) {
|
||||||
String[] summary, String[] options, String[] values, boolean metricUnits) {
|
|
||||||
for (int i = 0; i < values.length; i++) {
|
for (int i = 0; i < values.length; i++) {
|
||||||
int value = Integer.parseInt(values[i]);
|
int value = Integer.parseInt(values[i]);
|
||||||
String displayValue;
|
String displayValue;
|
||||||
@@ -211,20 +182,17 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity
|
|||||||
options[i] = displayValue;
|
options[i] = displayValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
summary[i] = getString(R.string.settings_recording_location_frequency_summary, displayValue);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the max recording distance summary and options.
|
* Sets the max recording distance options.
|
||||||
*
|
*
|
||||||
* @param summary the summary
|
|
||||||
* @param options the options
|
* @param options the options
|
||||||
* @param values the values
|
* @param values the values
|
||||||
* @param metricUnits true for metric units
|
* @param metricUnits true for metric units
|
||||||
*/
|
*/
|
||||||
private void setMaxRecordingDistanceSummaryAndOptions(
|
private void setMaxRecordingDistanceOptions(String[] options, String[] values, boolean metricUnits) {
|
||||||
String[] summary, String[] options, String[] values, boolean metricUnits) {
|
|
||||||
for (int i = 0; i < values.length; i++) {
|
for (int i = 0; i < values.length; i++) {
|
||||||
int value = Integer.parseInt(values[i]);
|
int value = Integer.parseInt(values[i]);
|
||||||
String displayValue;
|
String displayValue;
|
||||||
@@ -250,21 +218,17 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity
|
|||||||
options[i] = displayValue;
|
options[i] = displayValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
summary[i] = getString(
|
|
||||||
R.string.settings_recording_max_recording_distance_summary, displayValue);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the recording gps accuracy summary and options.
|
* Sets the recording gps accuracy options.
|
||||||
*
|
*
|
||||||
* @param summary the summary
|
|
||||||
* @param options the options
|
* @param options the options
|
||||||
* @param values the values
|
* @param values the values
|
||||||
* @param metricUnits true for metric units
|
* @param metricUnits true for metric units
|
||||||
*/
|
*/
|
||||||
private void setRecordingGpsAccuracySummaryAndOptions(
|
private void setRecordingGpsAccuracyOptions(String[] options, String[] values, boolean metricUnits) {
|
||||||
String[] summary, String[] options, String[] values, boolean metricUnits) {
|
|
||||||
for (int i = 0; i < values.length; i++) {
|
for (int i = 0; i < values.length; i++) {
|
||||||
int value = Integer.parseInt(values[i]);
|
int value = Integer.parseInt(values[i]);
|
||||||
String displayValue;
|
String displayValue;
|
||||||
@@ -307,36 +271,27 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
summary[i] = getString(
|
|
||||||
R.string.settings_recording_min_required_accuracy_summary, displayValue);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the auto resume track timeout summary and options.
|
* Sets the auto resume track timeout options.
|
||||||
*
|
*
|
||||||
* @param summary the summary
|
|
||||||
* @param options the options
|
* @param options the options
|
||||||
* @param values the values
|
* @param values the values
|
||||||
*/
|
*/
|
||||||
private void setAutoResumeTrackTimeoutSummaryAndOptions(String[] summary, String[] options, String[] values) {
|
private void setAutoResumeTrackTimeoutOptions(String[] options, String[] values) {
|
||||||
for (int i = 0; i < values.length; i++) {
|
for (int i = 0; i < values.length; i++) {
|
||||||
int value = Integer.parseInt(values[i]);
|
int value = Integer.parseInt(values[i]);
|
||||||
switch (value) {
|
switch (value) {
|
||||||
case PreferencesUtils.AUTO_RESUME_TRACK_TIMEOUT_NEVER:
|
case PreferencesUtils.AUTO_RESUME_TRACK_TIMEOUT_NEVER:
|
||||||
options[i] = getString(R.string.value_never);
|
options[i] = getString(R.string.value_never);
|
||||||
summary[i] = getString(
|
|
||||||
R.string.settings_recording_auto_resume_track_timeout_never_summary);
|
|
||||||
break;
|
break;
|
||||||
case PreferencesUtils.AUTO_RESUME_TRACK_TIMEOUT_ALWAYS:
|
case PreferencesUtils.AUTO_RESUME_TRACK_TIMEOUT_ALWAYS:
|
||||||
options[i] = getString(R.string.value_always);
|
options[i] = getString(R.string.value_always);
|
||||||
summary[i] = getString(
|
|
||||||
R.string.settings_recording_auto_resume_track_timeout_always_summary);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
options[i] = getString(R.string.value_integer_minute, value);
|
options[i] = getString(R.string.value_integer_minute, value);
|
||||||
summary[i] = getString(
|
|
||||||
R.string.settings_recording_auto_resume_track_timeout_summary, options[i]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import android.provider.Settings;
|
|||||||
import de.dennisguse.opentracks.util.BluetoothDeviceUtils;
|
import de.dennisguse.opentracks.util.BluetoothDeviceUtils;
|
||||||
import de.dennisguse.opentracks.util.PreferencesUtils;
|
import de.dennisguse.opentracks.util.PreferencesUtils;
|
||||||
import de.dennisguse.opentracks.R;
|
import de.dennisguse.opentracks.R;
|
||||||
|
import de.dennisguse.opentracks.util.StringUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -83,8 +84,10 @@ public class SensorSettingsActivity extends AbstractSettingsActivity {
|
|||||||
devicesNameList.add(0, getString(R.string.value_none));
|
devicesNameList.add(0, getString(R.string.value_none));
|
||||||
devicesAddressList.add(0, PreferencesUtils.BLUETOOTH_SENSOR_DEFAULT);
|
devicesAddressList.add(0, PreferencesUtils.BLUETOOTH_SENSOR_DEFAULT);
|
||||||
|
|
||||||
String[] options = devicesNameList.toArray(new String[0]);
|
|
||||||
String[] values = devicesAddressList.toArray(new String[0]);
|
String[] values = devicesAddressList.toArray(new String[0]);
|
||||||
configureListPreference(preference, options, values, value, null);
|
preference.setEntryValues(values);
|
||||||
|
|
||||||
|
String[] options = devicesNameList.toArray(new String[0]);
|
||||||
|
preference.setEntries(options);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import android.preference.Preference.OnPreferenceChangeListener;
|
|||||||
|
|
||||||
import de.dennisguse.opentracks.util.PreferencesUtils;
|
import de.dennisguse.opentracks.util.PreferencesUtils;
|
||||||
import de.dennisguse.opentracks.R;
|
import de.dennisguse.opentracks.R;
|
||||||
|
import de.dennisguse.opentracks.util.StringUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An activity for accessing stats settings.
|
* An activity for accessing stats settings.
|
||||||
@@ -36,20 +37,17 @@ public class StatsSettingsActivity extends AbstractSettingsActivity {
|
|||||||
super.onCreate(bundle);
|
super.onCreate(bundle);
|
||||||
addPreferencesFromResource(R.xml.settings_statistics);
|
addPreferencesFromResource(R.xml.settings_statistics);
|
||||||
|
|
||||||
/*
|
|
||||||
* Note configureUnitsListPreference will trigger
|
|
||||||
* configureRateListPreference
|
|
||||||
*/
|
|
||||||
configUnitsListPreference();
|
configUnitsListPreference();
|
||||||
|
boolean metricUnits = PreferencesUtils.STATS_UNITS_DEFAULT.equals(PreferencesUtils.getString(this, R.string.stats_units_key, ""));
|
||||||
|
configRateListPreference(metricUnits);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configures the preferred units list preference.
|
* Configures the preferred units list preference.
|
||||||
*/
|
*/
|
||||||
private void configUnitsListPreference() {
|
private void configUnitsListPreference() {
|
||||||
ListPreference listPreference = (ListPreference) findPreference(
|
ListPreference listPreference = (ListPreference) findPreference(getString(R.string.stats_units_key));
|
||||||
getString(R.string.stats_units_key));
|
final OnPreferenceChangeListener listener = new OnPreferenceChangeListener() {
|
||||||
OnPreferenceChangeListener listener = new OnPreferenceChangeListener() {
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference pref, Object newValue) {
|
public boolean onPreferenceChange(Preference pref, Object newValue) {
|
||||||
@@ -58,11 +56,15 @@ public class StatsSettingsActivity extends AbstractSettingsActivity {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
String value = PreferencesUtils.getString(
|
listPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||||
this, R.string.stats_units_key, PreferencesUtils.STATS_UNITS_DEFAULT);
|
@Override
|
||||||
String[] values = getResources().getStringArray(R.array.stats_units_values);
|
public boolean onPreferenceChange(Preference pref, Object newValue) {
|
||||||
String[] options = getResources().getStringArray(R.array.stats_units_options);
|
if (listener != null) {
|
||||||
configureListPreference(listPreference, options, values, value, listener);
|
listener.onPreferenceChange(pref, newValue);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -71,13 +73,9 @@ public class StatsSettingsActivity extends AbstractSettingsActivity {
|
|||||||
* @param metricUnits true if metric units
|
* @param metricUnits true if metric units
|
||||||
*/
|
*/
|
||||||
private void configRateListPreference(boolean metricUnits) {
|
private void configRateListPreference(boolean metricUnits) {
|
||||||
ListPreference listPreference = (ListPreference) findPreference(
|
ListPreference listPreference = (ListPreference) findPreference(getString(R.string.stats_rate_key));
|
||||||
getString(R.string.stats_rate_key));
|
String[] options = getResources().getStringArray(metricUnits ? R.array.stats_rate_metric_options : R.array.stats_rate_imperial_options);
|
||||||
String value = PreferencesUtils.getString(
|
|
||||||
this, R.string.stats_rate_key, PreferencesUtils.STATS_RATE_DEFAULT);
|
listPreference.setEntries(options);
|
||||||
String[] values = getResources().getStringArray(R.array.stats_rate_values);
|
|
||||||
String[] options = getResources().getStringArray(
|
|
||||||
metricUnits ? R.array.stats_rate_metric_options : R.array.stats_rate_imperial_options);
|
|
||||||
configureListPreference(listPreference, options, values, value, null);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ limitations under the License.
|
|||||||
android:defaultValue="@string/chart_x_axis_distance"
|
android:defaultValue="@string/chart_x_axis_distance"
|
||||||
android:key="@string/chart_x_axis_key"
|
android:key="@string/chart_x_axis_key"
|
||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
|
android:entryValues="@array/chart_x_axis_values"
|
||||||
|
android:entries="@array/chart_x_axis_options"
|
||||||
android:title="@string/settings_chart_x_axis" />
|
android:title="@string/settings_chart_x_axis" />
|
||||||
<PreferenceCategory android:title="@string/settings_show">
|
<PreferenceCategory android:title="@string/settings_show">
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
|
|||||||
@@ -13,20 +13,25 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:title="@string/settings_recording">
|
android:title="@string/settings_recording">
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="0"
|
android:defaultValue="0"
|
||||||
|
android:entryValues="@array/frequency_values"
|
||||||
android:key="@string/voice_frequency_key"
|
android:key="@string/voice_frequency_key"
|
||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
android:title="@string/menu_voice_frequency" />
|
android:title="@string/menu_voice_frequency" />
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="0"
|
android:defaultValue="0"
|
||||||
|
android:entryValues="@array/frequency_values"
|
||||||
android:key="@string/split_frequency_key"
|
android:key="@string/split_frequency_key"
|
||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
android:title="@string/menu_split_frequency" />
|
android:title="@string/menu_split_frequency" />
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="@string/settings_recording_track_name_date_iso_8601_value"
|
android:defaultValue="@string/settings_recording_track_name_date_iso_8601_value"
|
||||||
|
android:entries="@array/stats_units_options"
|
||||||
|
android:entryValues="@array/stats_units_values"
|
||||||
android:key="@string/track_name_key"
|
android:key="@string/track_name_key"
|
||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
android:title="@string/settings_recording_track_name_title" />
|
android:title="@string/settings_recording_track_name_title" />
|
||||||
@@ -37,26 +42,31 @@ limitations under the License.
|
|||||||
android:title="@string/settings_recording_default_activity_title" />
|
android:title="@string/settings_recording_default_activity_title" />
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="0"
|
android:defaultValue="0"
|
||||||
|
android:entryValues="@array/min_recording_interval_values"
|
||||||
android:key="@string/min_recording_interval_key"
|
android:key="@string/min_recording_interval_key"
|
||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
android:title="@string/settings_recording_min_recording_interval_title" />
|
android:title="@string/settings_recording_min_recording_interval_title" />
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="10"
|
android:defaultValue="10"
|
||||||
|
android:entryValues="@array/recording_distance_interval_values"
|
||||||
android:key="@string/recording_distance_interval_key"
|
android:key="@string/recording_distance_interval_key"
|
||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
android:title="@string/settings_recording_min_recording_distance_title" />
|
android:title="@string/settings_recording_min_recording_distance_title" />
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="200"
|
android:defaultValue="200"
|
||||||
|
android:entryValues="@array/max_recording_distance_values"
|
||||||
android:key="@string/max_recording_distance_key"
|
android:key="@string/max_recording_distance_key"
|
||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
android:title="@string/settings_recording_max_recording_distance_title" />
|
android:title="@string/settings_recording_max_recording_distance_title" />
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="50"
|
android:defaultValue="50"
|
||||||
|
android:entryValues="@array/recording_gps_accuracy_values"
|
||||||
android:key="@string/recording_gps_accuracy_key"
|
android:key="@string/recording_gps_accuracy_key"
|
||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
android:title="@string/settings_recording_min_required_accuracy_title" />
|
android:title="@string/settings_recording_min_required_accuracy_title" />
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="10"
|
android:defaultValue="10"
|
||||||
|
android:entryValues="@array/auto_resume_track_timeout_values"
|
||||||
android:key="@string/auto_resume_track_timeout_key"
|
android:key="@string/auto_resume_track_timeout_key"
|
||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
android:title="@string/settings_recording_auto_resume_track_timeout_title" />
|
android:title="@string/settings_recording_auto_resume_track_timeout_title" />
|
||||||
|
|||||||
@@ -17,11 +17,15 @@ limitations under the License.
|
|||||||
android:title="@string/track_detail_stats_tab">
|
android:title="@string/track_detail_stats_tab">
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="@string/stats_units_metric"
|
android:defaultValue="@string/stats_units_metric"
|
||||||
|
android:entries="@array/stats_units_options"
|
||||||
|
android:entryValues="@array/stats_units_values"
|
||||||
android:key="@string/stats_units_key"
|
android:key="@string/stats_units_key"
|
||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
android:title="@string/settings_stats_units_title" />
|
android:title="@string/settings_stats_units_title" />
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="@string/stats_rate_speed"
|
android:defaultValue="@string/stats_rate_speed"
|
||||||
|
android:entries="@array/stats_rate_metric_options"
|
||||||
|
android:entryValues="@array/stats_rate_values"
|
||||||
android:key="@string/stats_rate_key"
|
android:key="@string/stats_rate_key"
|
||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
android:title="@string/settings_stats_rate_title" />
|
android:title="@string/settings_stats_rate_title" />
|
||||||
|
|||||||
Reference in New Issue
Block a user