forked from upstream-mirrors/OpenTracks
Settings: remove all defaults from code.
This commit is contained in:
+4
-2
@@ -139,7 +139,8 @@ public class TrackRecordingServiceTestLooper {
|
|||||||
@MediumTest
|
@MediumTest
|
||||||
@Test
|
@Test
|
||||||
public void testWithProperties_minRecordingDistanceDefault() throws TimeoutException {
|
public void testWithProperties_minRecordingDistanceDefault() throws TimeoutException {
|
||||||
PreferencesUtils.setInt(context, R.string.recording_distance_interval_key, PreferencesUtils.RECORDING_DISTANCE_INTERVAL_DEFAULT);
|
int minRecordingIntervalDefault = Integer.parseInt(context.getResources().getString(R.string.min_recording_interval_default));
|
||||||
|
PreferencesUtils.setInt(context, R.string.recording_distance_interval_key, minRecordingIntervalDefault);
|
||||||
fullRecordingSession();
|
fullRecordingSession();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -202,7 +203,8 @@ public class TrackRecordingServiceTestLooper {
|
|||||||
@MediumTest
|
@MediumTest
|
||||||
@Test
|
@Test
|
||||||
public void testWithProperties_minRequiredAccuracyDefault() throws TimeoutException {
|
public void testWithProperties_minRequiredAccuracyDefault() throws TimeoutException {
|
||||||
PreferencesUtils.setInt(context, R.string.recording_gps_accuracy_key, PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT);
|
int recordingGPSAccuracyDefault = Integer.parseInt(context.getResources().getString(R.string.recording_gps_accuracy_default));
|
||||||
|
PreferencesUtils.setInt(context, R.string.recording_gps_accuracy_key, recordingGPSAccuracyDefault);
|
||||||
fullRecordingSession();
|
fullRecordingSession();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public class MarkerListActivity extends AbstractActivity implements DeleteMarker
|
|||||||
private SharedPreferences sharedPreferences;
|
private SharedPreferences sharedPreferences;
|
||||||
|
|
||||||
private long recordingTrackId = PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
|
private long recordingTrackId = PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
|
||||||
private boolean recordingTrackPaused = PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT;
|
private boolean recordingTrackPaused;
|
||||||
/*
|
/*
|
||||||
* Note that sharedPreferenceChangeListener cannot be an anonymous inner
|
* Note that sharedPreferenceChangeListener cannot be an anonymous inner
|
||||||
* class. Anonymous inner class will get garbage collected.
|
* class. Anonymous inner class will get garbage collected.
|
||||||
@@ -128,6 +128,8 @@ public class MarkerListActivity extends AbstractActivity implements DeleteMarker
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
recordingTrackPaused = PreferencesUtils.isRecordingTrackPausedDefault(this);
|
||||||
|
|
||||||
contentProviderUtils = ContentProviderUtils.Factory.get(this);
|
contentProviderUtils = ContentProviderUtils.Factory.get(this);
|
||||||
sharedPreferences = PreferencesUtils.getSharedPreferences(this);
|
sharedPreferences = PreferencesUtils.getSharedPreferences(this);
|
||||||
|
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ public class SearchListActivity extends AbstractListActivity implements DeleteMa
|
|||||||
|
|
||||||
private long recordingTrackId = PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
|
private long recordingTrackId = PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
|
||||||
|
|
||||||
private boolean recordingTrackPaused = PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT;
|
private boolean recordingTrackPaused;
|
||||||
|
|
||||||
// Callback when an item is selected in the contextual action mode
|
// Callback when an item is selected in the contextual action mode
|
||||||
private ContextualActionModeCallback contextualActionModeCallback = new ContextualActionModeCallback() {
|
private ContextualActionModeCallback contextualActionModeCallback = new ContextualActionModeCallback() {
|
||||||
@@ -168,6 +168,8 @@ public class SearchListActivity extends AbstractListActivity implements DeleteMa
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
|
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
|
||||||
|
|
||||||
|
recordingTrackPaused = PreferencesUtils.isRecordingTrackPausedDefault(this);
|
||||||
|
|
||||||
contentProviderUtils = ContentProviderUtils.Factory.get(this);
|
contentProviderUtils = ContentProviderUtils.Factory.get(this);
|
||||||
sharedPreferences = PreferencesUtils.getSharedPreferences(this);
|
sharedPreferences = PreferencesUtils.getSharedPreferences(this);
|
||||||
trackRecordingServiceConnection = new TrackRecordingServiceConnection(this, null);
|
trackRecordingServiceConnection = new TrackRecordingServiceConnection(this, null);
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA
|
|||||||
|
|
||||||
// Preferences
|
// Preferences
|
||||||
private long recordingTrackId = PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
|
private long recordingTrackId = PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
|
||||||
private boolean recordingTrackPaused = PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT;
|
private boolean recordingTrackPaused;
|
||||||
|
|
||||||
private final Runnable bindChangedCallback = new Runnable() {
|
private final Runnable bindChangedCallback = new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
@@ -182,6 +182,8 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
recordingTrackPaused = PreferencesUtils.isRecordingTrackPausedDefault(this);
|
||||||
|
|
||||||
hasCamera = getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA);
|
hasCamera = getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA);
|
||||||
photoUri = savedInstanceState != null ? (Uri) savedInstanceState.getParcelable(PHOTO_URI_KEY) : null;
|
photoUri = savedInstanceState != null ? (Uri) savedInstanceState.getParcelable(PHOTO_URI_KEY) : null;
|
||||||
hasPhoto = savedInstanceState != null && savedInstanceState.getBoolean(HAS_PHOTO_KEY, false);
|
hasPhoto = savedInstanceState != null && savedInstanceState.getBoolean(HAS_PHOTO_KEY, false);
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ public class TrackListActivity extends AbstractListActivity implements ConfirmDe
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private boolean recordingTrackPaused = PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT;
|
private boolean recordingTrackPaused;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Note that sharedPreferenceChangeListener cannot be an anonymous inner class.
|
* Note that sharedPreferenceChangeListener cannot be an anonymous inner class.
|
||||||
@@ -225,8 +225,7 @@ public class TrackListActivity extends AbstractListActivity implements ConfirmDe
|
|||||||
// Not recording -> Recording
|
// Not recording -> Recording
|
||||||
updateMenuItems(false, true);
|
updateMenuItems(false, true);
|
||||||
startRecording();
|
startRecording();
|
||||||
} else {
|
} else if (recordingTrackPaused) {
|
||||||
if (recordingTrackPaused) {
|
|
||||||
// Paused -> Resume
|
// Paused -> Resume
|
||||||
updateMenuItems(false, true);
|
updateMenuItems(false, true);
|
||||||
trackRecordingServiceConnection.resumeTrack();
|
trackRecordingServiceConnection.resumeTrack();
|
||||||
@@ -237,7 +236,6 @@ public class TrackListActivity extends AbstractListActivity implements ConfirmDe
|
|||||||
trackRecordingServiceConnection.pauseTrack();
|
trackRecordingServiceConnection.pauseTrack();
|
||||||
trackController.update(true, true);
|
trackController.update(true, true);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -245,6 +243,8 @@ public class TrackListActivity extends AbstractListActivity implements ConfirmDe
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
recordingTrackPaused = PreferencesUtils.isRecordingTrackPausedDefault(this);
|
||||||
|
|
||||||
contentProviderUtils = ContentProviderUtils.Factory.get(this);
|
contentProviderUtils = ContentProviderUtils.Factory.get(this);
|
||||||
sharedPreferences = PreferencesUtils.getSharedPreferences(this);
|
sharedPreferences = PreferencesUtils.getSharedPreferences(this);
|
||||||
|
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ public class ChartFragment extends Fragment implements TrackDataListener {
|
|||||||
|
|
||||||
private boolean metricUnits = true;
|
private boolean metricUnits = true;
|
||||||
private boolean reportSpeed = true;
|
private boolean reportSpeed = true;
|
||||||
private int recordingDistanceInterval = PreferencesUtils.RECORDING_DISTANCE_INTERVAL_DEFAULT;
|
private int recordingDistanceInterval;
|
||||||
|
|
||||||
// Modes of operation
|
// Modes of operation
|
||||||
private boolean chartByDistance = true;
|
private boolean chartByDistance = true;
|
||||||
@@ -99,6 +99,8 @@ public class ChartFragment extends Fragment implements TrackDataListener {
|
|||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
recordingDistanceInterval = PreferencesUtils.getRecordingDistanceIntervalDefault(getContext());
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create a chartView here to store data thus won't need to reload all the data on every onStart or onResume.
|
* Create a chartView here to store data thus won't need to reload all the data on every onStart or onResume.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -45,7 +45,6 @@ import de.dennisguse.opentracks.services.ITrackRecordingService;
|
|||||||
import de.dennisguse.opentracks.services.TrackRecordingServiceConnection;
|
import de.dennisguse.opentracks.services.TrackRecordingServiceConnection;
|
||||||
import de.dennisguse.opentracks.stats.TripStatistics;
|
import de.dennisguse.opentracks.stats.TripStatistics;
|
||||||
import de.dennisguse.opentracks.util.LocationUtils;
|
import de.dennisguse.opentracks.util.LocationUtils;
|
||||||
import de.dennisguse.opentracks.util.PreferencesUtils;
|
|
||||||
import de.dennisguse.opentracks.util.StatsUtils;
|
import de.dennisguse.opentracks.util.StatsUtils;
|
||||||
import de.dennisguse.opentracks.util.TrackIconUtils;
|
import de.dennisguse.opentracks.util.TrackIconUtils;
|
||||||
import de.dennisguse.opentracks.util.UnitConversions;
|
import de.dennisguse.opentracks.util.UnitConversions;
|
||||||
@@ -81,7 +80,7 @@ public class StatsFragment extends Fragment implements TrackDataListener {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
private String category = "";
|
private String category = "";
|
||||||
private int recordingGpsAccuracy = PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT;
|
private int recordingGpsAccuracy;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
@@ -91,6 +90,9 @@ public class StatsFragment extends Fragment implements TrackDataListener {
|
|||||||
@Override
|
@Override
|
||||||
public void onActivityCreated(Bundle savedInstanceState) {
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
super.onActivityCreated(savedInstanceState);
|
super.onActivityCreated(savedInstanceState);
|
||||||
|
|
||||||
|
recordingGpsAccuracy = Integer.parseInt(getContext().getResources().getString(R.string.recording_gps_accuracy_default));
|
||||||
|
|
||||||
handlerUpdateUI = new Handler();
|
handlerUpdateUI = new Handler();
|
||||||
|
|
||||||
Spinner activityTypeIcon = getView().findViewById(R.id.stats_activity_type_icon);
|
Spinner activityTypeIcon = getView().findViewById(R.id.stats_activity_type_icon);
|
||||||
|
|||||||
@@ -139,17 +139,14 @@ public class TrackRecordingService extends Service {
|
|||||||
}
|
}
|
||||||
if (PreferencesUtils.isKey(context, R.string.min_recording_interval_key, key)) {
|
if (PreferencesUtils.isKey(context, R.string.min_recording_interval_key, key)) {
|
||||||
int minRecordingInterval = PreferencesUtils.getMinRecordingInterval(context);
|
int minRecordingInterval = PreferencesUtils.getMinRecordingInterval(context);
|
||||||
switch (minRecordingInterval) {
|
if (minRecordingInterval == PreferencesUtils.getMinRecordingIntervalAdaptBatteryLife(context)) {
|
||||||
case PreferencesUtils.MIN_RECORDING_INTERVAL_ADAPT_BATTERY_LIFE:
|
// Choose battery life over moving time accuracy.
|
||||||
// Choose battery life over moving time accuracy.
|
locationListenerPolicy = new AdaptiveLocationListenerPolicy(30 * UnitConversions.ONE_SECOND, 5 * ONE_MINUTE, 5);
|
||||||
locationListenerPolicy = new AdaptiveLocationListenerPolicy(30 * UnitConversions.ONE_SECOND, 5 * ONE_MINUTE, 5);
|
} else if (minRecordingInterval == PreferencesUtils.getMinRecordingIntervalAdaptAccuracy(context)) {
|
||||||
break;
|
// Get all the updates.
|
||||||
case PreferencesUtils.MIN_RECORDING_INTERVAL_ADAPT_ACCURACY:
|
locationListenerPolicy = new AdaptiveLocationListenerPolicy(UnitConversions.ONE_SECOND, 30 * UnitConversions.ONE_SECOND, 0);
|
||||||
// Get all the updates.
|
} else {
|
||||||
locationListenerPolicy = new AdaptiveLocationListenerPolicy(UnitConversions.ONE_SECOND, 30 * UnitConversions.ONE_SECOND, 0);
|
locationListenerPolicy = new AbsoluteLocationListenerPolicy(minRecordingInterval * UnitConversions.ONE_SECOND);
|
||||||
break;
|
|
||||||
default:
|
|
||||||
locationListenerPolicy = new AbsoluteLocationListenerPolicy(minRecordingInterval * UnitConversions.ONE_SECOND);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (PreferencesUtils.isKey(context, R.string.recording_distance_interval_key, key)) {
|
if (PreferencesUtils.isKey(context, R.string.recording_distance_interval_key, key)) {
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ package de.dennisguse.opentracks.services.tasks;
|
|||||||
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import de.dennisguse.opentracks.R;
|
||||||
import de.dennisguse.opentracks.services.TrackRecordingService;
|
import de.dennisguse.opentracks.services.TrackRecordingService;
|
||||||
import de.dennisguse.opentracks.stats.TripStatistics;
|
import de.dennisguse.opentracks.stats.TripStatistics;
|
||||||
import de.dennisguse.opentracks.util.PreferencesUtils;
|
|
||||||
import de.dennisguse.opentracks.util.UnitConversions;
|
import de.dennisguse.opentracks.util.UnitConversions;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,13 +35,14 @@ public class PeriodicTaskExecutor {
|
|||||||
private final TrackRecordingService trackRecordingService;
|
private final TrackRecordingService trackRecordingService;
|
||||||
private final PeriodicTaskFactory periodicTaskFactory;
|
private final PeriodicTaskFactory periodicTaskFactory;
|
||||||
|
|
||||||
|
private final int TASK_FREQUENCY_OFF;
|
||||||
/**
|
/**
|
||||||
* The task frequency.
|
* The task frequency.
|
||||||
* A positive value is a time frequency (minutes).
|
* A positive value is a time frequency (minutes).
|
||||||
* A negative value is a distance frequency (km or mi).
|
* A negative value is a distance frequency (km or mi).
|
||||||
* A zero value is to turn off periodic task.
|
* A zero value is to turn off periodic task.
|
||||||
*/
|
*/
|
||||||
private int taskFrequency = PreferencesUtils.FREQUENCY_OFF;
|
private int taskFrequency;
|
||||||
|
|
||||||
private PeriodicTask periodicTask;
|
private PeriodicTask periodicTask;
|
||||||
|
|
||||||
@@ -56,6 +57,9 @@ public class PeriodicTaskExecutor {
|
|||||||
public PeriodicTaskExecutor(TrackRecordingService trackRecordingService, PeriodicTaskFactory periodicTaskFactory) {
|
public PeriodicTaskExecutor(TrackRecordingService trackRecordingService, PeriodicTaskFactory periodicTaskFactory) {
|
||||||
this.trackRecordingService = trackRecordingService;
|
this.trackRecordingService = trackRecordingService;
|
||||||
this.periodicTaskFactory = periodicTaskFactory;
|
this.periodicTaskFactory = periodicTaskFactory;
|
||||||
|
|
||||||
|
TASK_FREQUENCY_OFF = Integer.parseInt(trackRecordingService.getBaseContext().getResources().getString(R.string.frequency_off));
|
||||||
|
taskFrequency = TASK_FREQUENCY_OFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -71,7 +75,7 @@ public class PeriodicTaskExecutor {
|
|||||||
timerTaskExecutor.shutdown();
|
timerTaskExecutor.shutdown();
|
||||||
timerTaskExecutor = null;
|
timerTaskExecutor = null;
|
||||||
}
|
}
|
||||||
if (taskFrequency == PreferencesUtils.FREQUENCY_OFF) {
|
if (taskFrequency == TASK_FREQUENCY_OFF) {
|
||||||
Log.d(TAG, "Task frequency is off.");
|
Log.d(TAG, "Task frequency is off.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,167 +15,157 @@ import de.dennisguse.opentracks.util.UnitConversions;
|
|||||||
|
|
||||||
final class PreferenceHelper {
|
final class PreferenceHelper {
|
||||||
|
|
||||||
/**
|
static String[] getMinRecordingIntervalEntries(Context context) {
|
||||||
* Sets the min recording interval options.
|
String[] entryValues = context.getResources().getStringArray(R.array.min_recording_interval_values);
|
||||||
*
|
String[] entries = new String[entryValues.length];
|
||||||
* @param options the options
|
for (int i = 0; i < entryValues.length; i++) {
|
||||||
* @param values the values
|
int value = Integer.parseInt(entryValues[i]);
|
||||||
*/
|
|
||||||
static void setMinRecordingIntervalOptions(Context context, String[] options, String[] values) {
|
if (value == PreferencesUtils.getMinRecordingIntervalAdaptAccuracy(context)) {
|
||||||
for (int i = 0; i < values.length; i++) {
|
entries[i] = context.getString(R.string.value_adapt_accuracy);
|
||||||
int value = Integer.parseInt(values[i]);
|
} else if (value == PreferencesUtils.getMinRecordingIntervalAdaptBatteryLife(context)) {
|
||||||
switch (value) {
|
entries[i] = context.getString(R.string.value_adapt_battery_life);
|
||||||
case PreferencesUtils.MIN_RECORDING_INTERVAL_ADAPT_BATTERY_LIFE:
|
} else if (value == PreferencesUtils.getMinRecordingIntervalDefault(context)) {
|
||||||
options[i] = context.getString(R.string.value_adapt_battery_life);
|
entries[i] = context.getString(R.string.value_smallest_recommended);
|
||||||
break;
|
} else {
|
||||||
case PreferencesUtils.MIN_RECORDING_INTERVAL_ADAPT_ACCURACY:
|
entries[i] = value < 60 ? context.getString(R.string.value_integer_second, value) : context.getString(R.string.value_integer_minute, value / 60);
|
||||||
options[i] = context.getString(R.string.value_adapt_accuracy);
|
|
||||||
break;
|
|
||||||
case PreferencesUtils.MIN_RECORDING_INTERVAL_DEFAULT:
|
|
||||||
options[i] = context.getString(R.string.value_smallest_recommended);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
options[i] = value < 60 ? context.getString(R.string.value_integer_second, value) : context.getString(R.string.value_integer_minute, value / 60);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return entries;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
static String[] getRecordingDistanceIntervalEntries(Context context, boolean metricUnits) {
|
||||||
* Sets the recording distance interval options.
|
String[] entryValues = context.getResources().getStringArray(R.array.recording_distance_interval_values);
|
||||||
*
|
String[] entries = new String[entryValues.length];
|
||||||
* @param options the options
|
|
||||||
* @param values the values
|
final int recordingDistanceIntervalDefault = PreferencesUtils.getRecordingDistanceIntervalDefault(context);
|
||||||
* @param metricUnits true for metric units
|
|
||||||
*/
|
for (int i = 0; i < entryValues.length; i++) {
|
||||||
static void setRecordingDistanceIntervalOptions(Context context, String[] options, String[] values, boolean metricUnits) {
|
int value = Integer.parseInt(entryValues[i]);
|
||||||
for (int i = 0; i < values.length; i++) {
|
|
||||||
int value = Integer.parseInt(values[i]);
|
|
||||||
String displayValue;
|
String displayValue;
|
||||||
if (metricUnits) {
|
if (metricUnits) {
|
||||||
displayValue = context.getString(R.string.value_integer_meter, value);
|
displayValue = context.getString(R.string.value_integer_meter, value);
|
||||||
if (value == PreferencesUtils.RECORDING_DISTANCE_INTERVAL_DEFAULT) {
|
if (value == recordingDistanceIntervalDefault) {
|
||||||
options[i] = context.getString(R.string.value_integer_meter_recommended, value);
|
entries[i] = context.getString(R.string.value_integer_meter_recommended, value);
|
||||||
} else {
|
} else {
|
||||||
options[i] = displayValue;
|
entries[i] = displayValue;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
int feet = (int) (value * UnitConversions.M_TO_FT);
|
int feet = (int) (value * UnitConversions.M_TO_FT);
|
||||||
displayValue = context.getString(R.string.value_integer_feet, feet);
|
displayValue = context.getString(R.string.value_integer_feet, feet);
|
||||||
if (value == PreferencesUtils.RECORDING_DISTANCE_INTERVAL_DEFAULT) {
|
if (value == recordingDistanceIntervalDefault) {
|
||||||
options[i] = context.getString(R.string.value_integer_feet_recommended, feet);
|
entries[i] = context.getString(R.string.value_integer_feet_recommended, feet);
|
||||||
} else {
|
} else {
|
||||||
options[i] = displayValue;
|
entries[i] = displayValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return entries;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
static String[] getMaxRecordingDistanceEntries(Context context, boolean metricUnits) {
|
||||||
* Sets the max recording distance options.
|
String[] entryValues = context.getResources().getStringArray(R.array.max_recording_distance_values);
|
||||||
*
|
String[] entries = new String[entryValues.length];
|
||||||
* @param options the options
|
|
||||||
* @param values the values
|
final int maxRecordingDistanceDefault = Integer.parseInt(context.getResources().getString(R.string.max_recording_distance_default));
|
||||||
* @param metricUnits true for metric units
|
|
||||||
*/
|
for (int i = 0; i < entryValues.length; i++) {
|
||||||
static void setMaxRecordingDistanceOptions(Context context, String[] options, String[] values, boolean metricUnits) {
|
int value = Integer.parseInt(entryValues[i]);
|
||||||
for (int i = 0; i < values.length; i++) {
|
|
||||||
int value = Integer.parseInt(values[i]);
|
|
||||||
String displayValue;
|
String displayValue;
|
||||||
if (metricUnits) {
|
if (metricUnits) {
|
||||||
displayValue = context.getString(R.string.value_integer_meter, value);
|
displayValue = context.getString(R.string.value_integer_meter, value);
|
||||||
if (value == PreferencesUtils.MAX_RECORDING_DISTANCE_DEFAULT) {
|
if (value == maxRecordingDistanceDefault) {
|
||||||
options[i] = context.getString(R.string.value_integer_meter_recommended, value);
|
entries[i] = context.getString(R.string.value_integer_meter_recommended, value);
|
||||||
} else {
|
} else {
|
||||||
options[i] = displayValue;
|
entries[i] = displayValue;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
int feet = (int) (value * UnitConversions.M_TO_FT);
|
int feet = (int) (value * UnitConversions.M_TO_FT);
|
||||||
if (feet < 2000) {
|
if (feet < 2000) {
|
||||||
displayValue = context.getString(R.string.value_integer_feet, feet);
|
displayValue = context.getString(R.string.value_integer_feet, feet);
|
||||||
if (value == PreferencesUtils.MAX_RECORDING_DISTANCE_DEFAULT) {
|
if (value == maxRecordingDistanceDefault) {
|
||||||
options[i] = context.getString(R.string.value_integer_feet_recommended, feet);
|
entries[i] = context.getString(R.string.value_integer_feet_recommended, feet);
|
||||||
} else {
|
} else {
|
||||||
options[i] = displayValue;
|
entries[i] = displayValue;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
double mile = feet * UnitConversions.FT_TO_MI;
|
double mile = feet * UnitConversions.FT_TO_MI;
|
||||||
displayValue = context.getString(R.string.value_float_mile, mile);
|
displayValue = context.getString(R.string.value_float_mile, mile);
|
||||||
options[i] = displayValue;
|
entries[i] = displayValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return entries;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
static String[] getRecordingGpsAccuracyEntries(Context context, boolean metricUnits) {
|
||||||
* Sets the recording gps accuracy options.
|
String[] entryValues = context.getResources().getStringArray(R.array.recording_gps_accuracy_values);
|
||||||
*
|
String[] entries = new String[entryValues.length];
|
||||||
* @param options the options
|
|
||||||
* @param values the values
|
final int recordingGPSAccuracyDefault = Integer.parseInt(context.getResources().getString(R.string.recording_gps_accuracy_default));
|
||||||
* @param metricUnits true for metric units
|
final int recordingGPSAccuracyExcellent = Integer.parseInt(context.getResources().getString(R.string.recording_gps_accuracy_excellent));
|
||||||
*/
|
final int recordingGPSAccuracyPoor = Integer.parseInt(context.getResources().getString(R.string.recording_gps_accuracy_poor));
|
||||||
static void setRecordingGpsAccuracyOptions(Context context, String[] options, String[] values, boolean metricUnits) {
|
|
||||||
for (int i = 0; i < values.length; i++) {
|
for (int i = 0; i < entryValues.length; i++) {
|
||||||
int value = Integer.parseInt(values[i]);
|
int value = Integer.parseInt(entryValues[i]);
|
||||||
String displayValue;
|
String displayValue;
|
||||||
if (metricUnits) {
|
if (metricUnits) {
|
||||||
displayValue = context.getString(R.string.value_integer_meter, value);
|
displayValue = context.getString(R.string.value_integer_meter, value);
|
||||||
switch (value) {
|
if (value == recordingGPSAccuracyDefault) {
|
||||||
case PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT:
|
entries[i] = context.getString(R.string.value_integer_meter_recommended, value);
|
||||||
options[i] = context.getString(R.string.value_integer_meter_recommended, value);
|
} else if (value == recordingGPSAccuracyExcellent) {
|
||||||
break;
|
entries[i] = context.getString(R.string.value_integer_meter_excellent_gps, value);
|
||||||
case PreferencesUtils.RECORDING_GPS_ACCURACY_EXCELLENT:
|
} else if (value == recordingGPSAccuracyPoor) {
|
||||||
options[i] = context.getString(R.string.value_integer_meter_excellent_gps, value);
|
entries[i] = context.getString(R.string.value_integer_meter_poor_gps, value);
|
||||||
break;
|
} else {
|
||||||
case PreferencesUtils.RECORDING_GPS_ACCURACY_POOR:
|
entries[i] = displayValue;
|
||||||
options[i] = context.getString(R.string.value_integer_meter_poor_gps, value);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
options[i] = displayValue;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
int feet = (int) (value * UnitConversions.M_TO_FT);
|
int feet = (int) (value * UnitConversions.M_TO_FT);
|
||||||
if (feet < 2000) {
|
if (feet < 2000) {
|
||||||
displayValue = context.getString(R.string.value_integer_feet, feet);
|
displayValue = context.getString(R.string.value_integer_feet, feet);
|
||||||
switch (value) {
|
|
||||||
case PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT:
|
if (value == recordingGPSAccuracyDefault) {
|
||||||
options[i] = context.getString(R.string.value_integer_feet_recommended, feet);
|
entries[i] = context.getString(R.string.value_integer_feet_recommended, feet);
|
||||||
break;
|
} else if (value == recordingGPSAccuracyExcellent) {
|
||||||
case PreferencesUtils.RECORDING_GPS_ACCURACY_EXCELLENT:
|
entries[i] = context.getString(R.string.value_integer_feet_excellent_gps, feet);
|
||||||
options[i] = context.getString(R.string.value_integer_feet_excellent_gps, feet);
|
} else {
|
||||||
break;
|
entries[i] = displayValue;
|
||||||
default:
|
|
||||||
options[i] = displayValue;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
double mile = feet * UnitConversions.FT_TO_MI;
|
double mile = feet * UnitConversions.FT_TO_MI;
|
||||||
displayValue = context.getString(R.string.value_float_mile, mile);
|
displayValue = context.getString(R.string.value_float_mile, mile);
|
||||||
if (value == PreferencesUtils.RECORDING_GPS_ACCURACY_POOR) {
|
if (value == recordingGPSAccuracyPoor) {
|
||||||
options[i] = context.getString(R.string.value_float_mile_poor_gps, mile);
|
entries[i] = context.getString(R.string.value_float_mile_poor_gps, mile);
|
||||||
} else {
|
} else {
|
||||||
options[i] = displayValue;
|
entries[i] = displayValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return entries;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
static String[] getAutoResumeTrackTimeoutEntries(Context context) {
|
||||||
* Sets the auto resume track timeout options.
|
String[] entryValues = context.getResources().getStringArray(R.array.auto_resume_track_timeout_values);
|
||||||
*
|
String[] entries = new String[entryValues.length];
|
||||||
* @param options the options
|
|
||||||
* @param values the values
|
for (int i = 0; i < entryValues.length; i++) {
|
||||||
*/
|
int value = Integer.parseInt(entryValues[i]);
|
||||||
static void setAutoResumeTrackTimeoutOptions(Context context, String[] options, String[] values) {
|
|
||||||
for (int i = 0; i < values.length; i++) {
|
|
||||||
int value = Integer.parseInt(values[i]);
|
|
||||||
if (value == Integer.parseInt(context.getResources().getString(R.string.auto_resume_track_timeout_never))) {
|
if (value == Integer.parseInt(context.getResources().getString(R.string.auto_resume_track_timeout_never))) {
|
||||||
options[i] = context.getString(R.string.value_never);
|
entries[i] = context.getString(R.string.value_never);
|
||||||
} else if (value == Integer.parseInt(context.getResources().getString(R.string.auto_resume_track_timeout_always))) {
|
} else if (value == Integer.parseInt(context.getResources().getString(R.string.auto_resume_track_timeout_always))) {
|
||||||
options[i] = context.getString(R.string.value_always);
|
entries[i] = context.getString(R.string.value_always);
|
||||||
} else {
|
} else {
|
||||||
options[i] = context.getString(R.string.value_integer_minute, value);
|
entries[i] = context.getString(R.string.value_integer_minute, value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return entries;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -102,40 +102,6 @@ public class SettingsActivity extends AppCompatActivity implements ChooseActivit
|
|||||||
PreferencesUtils.getSharedPreferences(getActivity()).unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
|
PreferencesUtils.getSharedPreferences(getActivity()).unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void configFrequencyPreference(int key, boolean metricUnits) {
|
|
||||||
ListPreference preference = findPreference(getString(key));
|
|
||||||
|
|
||||||
String[] options = StringUtils.getFrequencyOptions(getActivity(), metricUnits);
|
|
||||||
preference.setEntries(options);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void configListPreference(int key, int valueArray, boolean metricUnits) {
|
|
||||||
String[] values = getResources().getStringArray(valueArray);
|
|
||||||
final String[] options = new String[values.length];
|
|
||||||
switch (key) {
|
|
||||||
case R.string.min_recording_interval_key:
|
|
||||||
PreferenceHelper.setMinRecordingIntervalOptions(getActivity(), options, values);
|
|
||||||
break;
|
|
||||||
case R.string.recording_distance_interval_key:
|
|
||||||
PreferenceHelper.setRecordingDistanceIntervalOptions(getActivity(), options, values, metricUnits);
|
|
||||||
break;
|
|
||||||
case R.string.max_recording_distance_key:
|
|
||||||
PreferenceHelper.setMaxRecordingDistanceOptions(getActivity(), options, values, metricUnits);
|
|
||||||
break;
|
|
||||||
case R.string.recording_gps_accuracy_key:
|
|
||||||
PreferenceHelper.setRecordingGpsAccuracyOptions(getActivity(), options, values, metricUnits);
|
|
||||||
break;
|
|
||||||
case R.string.auto_resume_track_timeout_key:
|
|
||||||
PreferenceHelper.setAutoResumeTrackTimeoutOptions(getActivity(), options, values);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
final ListPreference listPreference = findPreference(getString(key));
|
|
||||||
listPreference.setEntries(options);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisplayPreferenceDialog(Preference preference) {
|
public void onDisplayPreferenceDialog(Preference preference) {
|
||||||
DialogFragment dialogFragment = null;
|
DialogFragment dialogFragment = null;
|
||||||
@@ -177,19 +143,30 @@ public class SettingsActivity extends AppCompatActivity implements ChooseActivit
|
|||||||
private void updateUnits() {
|
private void updateUnits() {
|
||||||
boolean metricUnits = PreferencesUtils.isMetricUnits(getActivity());
|
boolean metricUnits = PreferencesUtils.isMetricUnits(getActivity());
|
||||||
|
|
||||||
//TODO Refactor this!
|
ListPreference voiceFrequency = findPreference(getString(R.string.voice_frequency_key));
|
||||||
configFrequencyPreference(R.string.voice_frequency_key, metricUnits);
|
voiceFrequency.setEntries(StringUtils.getFrequencyOptions(getActivity(), metricUnits));
|
||||||
configFrequencyPreference(R.string.split_frequency_key, metricUnits);
|
|
||||||
configListPreference(R.string.min_recording_interval_key, R.array.min_recording_interval_values, metricUnits);
|
|
||||||
configListPreference(R.string.recording_distance_interval_key, R.array.recording_distance_interval_values, metricUnits);
|
|
||||||
configListPreference(R.string.max_recording_distance_key, R.array.max_recording_distance_values, metricUnits);
|
|
||||||
configListPreference(R.string.recording_gps_accuracy_key, R.array.recording_gps_accuracy_values, metricUnits);
|
|
||||||
configListPreference(R.string.auto_resume_track_timeout_key, R.array.auto_resume_track_timeout_values, metricUnits);
|
|
||||||
configListPreference(R.string.auto_resume_track_timeout_key, R.array.auto_resume_track_timeout_values, metricUnits);
|
|
||||||
|
|
||||||
final ListPreference statsRatePreferences = findPreference(getString(R.string.stats_rate_key));
|
ListPreference splitFrequency = findPreference(getString(R.string.split_frequency_key));
|
||||||
String[] options = getResources().getStringArray(metricUnits ? R.array.stats_rate_metric_options : R.array.stats_rate_imperial_options);
|
splitFrequency.setEntries(StringUtils.getFrequencyOptions(getActivity(), metricUnits));
|
||||||
statsRatePreferences.setEntries(options);
|
|
||||||
|
ListPreference minRecordingInterval = findPreference(getString(R.string.min_recording_interval_key));
|
||||||
|
minRecordingInterval.setEntries(PreferenceHelper.getMinRecordingIntervalEntries(getActivity()));
|
||||||
|
|
||||||
|
ListPreference recordingDistanceInterval = findPreference(getString(R.string.recording_distance_interval_key));
|
||||||
|
recordingDistanceInterval.setEntries(PreferenceHelper.getRecordingDistanceIntervalEntries(getActivity(), metricUnits));
|
||||||
|
|
||||||
|
ListPreference maxRecordingDistance = findPreference(getString(R.string.max_recording_distance_key));
|
||||||
|
maxRecordingDistance.setEntries(PreferenceHelper.getMaxRecordingDistanceEntries(getActivity(), metricUnits));
|
||||||
|
|
||||||
|
ListPreference recordingGpsAccuracy = findPreference(getString(R.string.recording_gps_accuracy_key));
|
||||||
|
recordingGpsAccuracy.setEntries(PreferenceHelper.getRecordingGpsAccuracyEntries(getActivity(), metricUnits));
|
||||||
|
|
||||||
|
ListPreference autoresumeTrack = findPreference(getString(R.string.auto_resume_track_timeout_key));
|
||||||
|
autoresumeTrack.setEntries(PreferenceHelper.getAutoResumeTrackTimeoutEntries(getActivity()));
|
||||||
|
|
||||||
|
ListPreference statsRatePreferences = findPreference(getString(R.string.stats_rate_key));
|
||||||
|
String[] entries = getResources().getStringArray(metricUnits ? R.array.stats_rate_metric_options : R.array.stats_rate_imperial_options);
|
||||||
|
statsRatePreferences.setEntries(entries);
|
||||||
|
|
||||||
HackUtils.invalidatePreference(statsRatePreferences);
|
HackUtils.invalidatePreference(statsRatePreferences);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,41 +32,8 @@ import de.dennisguse.opentracks.R;
|
|||||||
*/
|
*/
|
||||||
public class PreferencesUtils {
|
public class PreferencesUtils {
|
||||||
|
|
||||||
/*
|
|
||||||
* Preferences values.
|
|
||||||
* The defaults need to match the defaults in the xml files.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static final boolean RECORDING_TRACK_PAUSED_DEFAULT = true;
|
|
||||||
|
|
||||||
public static final String BLUETOOTH_SENSOR_DEFAULT = "";
|
public static final String BLUETOOTH_SENSOR_DEFAULT = "";
|
||||||
|
|
||||||
// Value for split_frequency_key and voice_frequency_key
|
|
||||||
@Deprecated
|
|
||||||
public static final int FREQUENCY_OFF = 0;
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static final int MAX_RECORDING_DISTANCE_DEFAULT = 200;
|
|
||||||
|
|
||||||
// Values for min_recording_interval_key
|
|
||||||
@Deprecated
|
|
||||||
public static final int MIN_RECORDING_INTERVAL_ADAPT_ACCURACY = -1;
|
|
||||||
@Deprecated
|
|
||||||
public static final int MIN_RECORDING_INTERVAL_ADAPT_BATTERY_LIFE = -2;
|
|
||||||
@Deprecated
|
|
||||||
public static final int MIN_RECORDING_INTERVAL_DEFAULT = 0;
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static final int RECORDING_DISTANCE_INTERVAL_DEFAULT = 10;
|
|
||||||
|
|
||||||
// Values for recording_gps_accuracy
|
|
||||||
@Deprecated
|
|
||||||
public static final int RECORDING_GPS_ACCURACY_DEFAULT = 50;
|
|
||||||
@Deprecated
|
|
||||||
public static final int RECORDING_GPS_ACCURACY_EXCELLENT = 10;
|
|
||||||
@Deprecated
|
|
||||||
public static final int RECORDING_GPS_ACCURACY_POOR = 2000;
|
|
||||||
|
|
||||||
private PreferencesUtils() {
|
private PreferencesUtils() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,8 +238,11 @@ public class PreferencesUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isRecordingTrackPaused(Context context) {
|
public static boolean isRecordingTrackPaused(Context context) {
|
||||||
final boolean RECORDING_TRACK_PAUSED = context.getResources().getBoolean(R.bool.recording_track_paused_default);
|
return PreferencesUtils.getBoolean(context, R.string.recording_track_paused_key, isRecordingTrackPaused(context));
|
||||||
return PreferencesUtils.getBoolean(context, R.string.recording_track_paused_key, RECORDING_TRACK_PAUSED);
|
}
|
||||||
|
|
||||||
|
public static boolean isRecordingTrackPausedDefault(Context context) {
|
||||||
|
return context.getResources().getBoolean(R.bool.recording_track_paused_default);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void defaultRecordingTrackPaused(Context context) {
|
public static void defaultRecordingTrackPaused(Context context) {
|
||||||
@@ -337,7 +307,11 @@ public class PreferencesUtils {
|
|||||||
|
|
||||||
public static int getRecordingDistanceInterval(Context context) {
|
public static int getRecordingDistanceInterval(Context context) {
|
||||||
final int RECORDING_DISTANCE_INTERVAL = Integer.parseInt(context.getResources().getString(R.string.recording_distance_interval_default));
|
final int RECORDING_DISTANCE_INTERVAL = Integer.parseInt(context.getResources().getString(R.string.recording_distance_interval_default));
|
||||||
return PreferencesUtils.getInt(context, R.string.recording_distance_interval_key, RECORDING_DISTANCE_INTERVAL);
|
return PreferencesUtils.getInt(context, R.string.recording_distance_interval_key, getRecordingDistanceIntervalDefault(context));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getRecordingDistanceIntervalDefault(Context context) {
|
||||||
|
return Integer.parseInt(context.getResources().getString(R.string.recording_distance_interval_default));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getMaxRecordingDistance(Context context) {
|
public static int getMaxRecordingDistance(Context context) {
|
||||||
@@ -350,6 +324,22 @@ public class PreferencesUtils {
|
|||||||
return PreferencesUtils.getInt(context, R.string.min_recording_interval_key, MIN_RECORDING_INTERVAL);
|
return PreferencesUtils.getInt(context, R.string.min_recording_interval_key, MIN_RECORDING_INTERVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int getMinRecordingIntervalAdaptAccuracy(Context context) {
|
||||||
|
return Integer.parseInt(context.getResources().getString(R.string.min_recording_interval_adapt_accuracy));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getMinRecordingIntervalAdaptBatteryLife(Context context) {
|
||||||
|
return Integer.parseInt(context.getResources().getString(R.string.min_recording_interval_adapt_battery_life));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getMinRecordingIntervalDefault(Context context) {
|
||||||
|
return Integer.parseInt(context.getResources().getString(R.string.min_recording_interval_default));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static int getRecordingGPSAccuracy(Context context) {
|
public static int getRecordingGPSAccuracy(Context context) {
|
||||||
final int RECORDING_GPS_ACCURACY = Integer.parseInt(context.getResources().getString(R.string.recording_gps_accuracy_default));
|
final int RECORDING_GPS_ACCURACY = Integer.parseInt(context.getResources().getString(R.string.recording_gps_accuracy_default));
|
||||||
return PreferencesUtils.getInt(context, R.string.recording_gps_accuracy_key, RECORDING_GPS_ACCURACY);
|
return PreferencesUtils.getInt(context, R.string.recording_gps_accuracy_key, RECORDING_GPS_ACCURACY);
|
||||||
|
|||||||
@@ -359,7 +359,7 @@ public class StringUtils {
|
|||||||
String[] options = new String[values.length];
|
String[] options = new String[values.length];
|
||||||
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]);
|
||||||
if (value == PreferencesUtils.FREQUENCY_OFF) {
|
if (context.getString(R.string.frequency_off).equals(values[i])) {
|
||||||
options[i] = context.getString(R.string.value_off);
|
options[i] = context.getString(R.string.value_off);
|
||||||
} else if (value < 0) {
|
} else if (value < 0) {
|
||||||
options[i] = context.getString(metricUnits ? R.string.value_integer_kilometer : R.string.value_integer_mile, Math.abs(value));
|
options[i] = context.getString(metricUnits ? R.string.value_integer_kilometer : R.string.value_integer_mile, Math.abs(value));
|
||||||
|
|||||||
@@ -129,12 +129,12 @@
|
|||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<string name="split_frequency_key" translatable="false">splitFrequency</string>
|
<string name="split_frequency_key" translatable="false">splitFrequency</string>
|
||||||
<string name="split_frequency_default" translatable="false">@string/frequency_default</string>
|
<string name="split_frequency_default" translatable="false">@string/frequency_off</string>
|
||||||
<string name="voice_frequency_key" translatable="false">voiceFrequency</string>
|
<string name="voice_frequency_key" translatable="false">voiceFrequency</string>
|
||||||
<string name="voice_frequency_default" translatable="false">@string/frequency_default</string>
|
<string name="voice_frequency_default" translatable="false">@string/frequency_off</string>
|
||||||
<string name="frequency_default" translatable="false">0</string>
|
<string name="frequency_off" translatable="false">0</string>
|
||||||
<string-array name="frequency_values">
|
<string-array name="frequency_values">
|
||||||
<item>@string/frequency_default</item>
|
<item>@string/frequency_off</item>
|
||||||
<item>1</item>
|
<item>1</item>
|
||||||
<item>2</item>
|
<item>2</item>
|
||||||
<item>5</item>
|
<item>5</item>
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ limitations under the License.
|
|||||||
android:title="@string/settings_recording_track_name_title"
|
android:title="@string/settings_recording_track_name_title"
|
||||||
app:useSimpleSummaryProvider="true" />
|
app:useSimpleSummaryProvider="true" />
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="0"
|
android:defaultValue="@string/min_recording_interval_default"
|
||||||
android:entryValues="@array/min_recording_interval_values"
|
android:entryValues="@array/min_recording_interval_values"
|
||||||
android:key="@string/min_recording_interval_key"
|
android:key="@string/min_recording_interval_key"
|
||||||
android:title="@string/settings_recording_min_recording_interval_title"
|
android:title="@string/settings_recording_min_recording_interval_title"
|
||||||
@@ -111,20 +111,20 @@ limitations under the License.
|
|||||||
android:title="@string/settings_recording_max_recording_distance_title"
|
android:title="@string/settings_recording_max_recording_distance_title"
|
||||||
app:useSimpleSummaryProvider="true" />
|
app:useSimpleSummaryProvider="true" />
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="50"
|
android:defaultValue="@string/recording_gps_accuracy_default"
|
||||||
android:entryValues="@array/recording_gps_accuracy_values"
|
android:entryValues="@array/recording_gps_accuracy_values"
|
||||||
android:key="@string/recording_gps_accuracy_key"
|
android:key="@string/recording_gps_accuracy_key"
|
||||||
android:title="@string/settings_recording_min_required_accuracy_title"
|
android:title="@string/settings_recording_min_required_accuracy_title"
|
||||||
app:useSimpleSummaryProvider="true" />
|
app:useSimpleSummaryProvider="true" />
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:defaultValue="10"
|
android:defaultValue="@string/auto_resume_track_timeout_default"
|
||||||
android:entries="@array/auto_resume_track_timeout_values"
|
android:entries="@array/auto_resume_track_timeout_values"
|
||||||
android:entryValues="@array/auto_resume_track_timeout_values"
|
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:title="@string/settings_recording_auto_resume_track_timeout_title"
|
android:title="@string/settings_recording_auto_resume_track_timeout_title"
|
||||||
app:useSimpleSummaryProvider="true" />
|
app:useSimpleSummaryProvider="true" />
|
||||||
<de.dennisguse.opentracks.settings.ActivityTypePreference
|
<de.dennisguse.opentracks.settings.ActivityTypePreference
|
||||||
android:defaultValue="@string/"
|
android:defaultValue="@string/default_activity_default"
|
||||||
android:key="@string/default_activity_key"
|
android:key="@string/default_activity_key"
|
||||||
android:title="@string/settings_recording_default_activity_title" />
|
android:title="@string/settings_recording_default_activity_title" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|||||||
Reference in New Issue
Block a user