forked from upstream-mirrors/OpenTracks
Ensuring the rest of the app can deal with preferences being restored from the backup
This commit is contained in:
@@ -866,28 +866,36 @@ public class MyTracksMap extends MapActivity
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
|
public void onSharedPreferenceChanged(
|
||||||
String key) {
|
final SharedPreferences sharedPreferences,
|
||||||
|
final String key) {
|
||||||
if (key != null) {
|
if (key != null) {
|
||||||
if (key.equals(getString(R.string.min_required_accuracy_key))) {
|
uiHandler.post(new Runnable() {
|
||||||
minRequiredAccuracy = sharedPreferences.getInt(
|
@Override
|
||||||
getString(R.string.min_required_accuracy_key),
|
public void run() {
|
||||||
MyTracksSettings.DEFAULT_MIN_REQUIRED_ACCURACY);
|
if (key.equals(getString(R.string.min_required_accuracy_key))) {
|
||||||
} else if (key.equals(getString(R.string.selected_track_key))) {
|
minRequiredAccuracy = sharedPreferences.getInt(
|
||||||
long selectedTrackId =
|
getString(R.string.min_required_accuracy_key),
|
||||||
sharedPreferences.getLong(getString(R.string.selected_track_key),
|
MyTracksSettings.DEFAULT_MIN_REQUIRED_ACCURACY);
|
||||||
-1);
|
} else if (key.equals(getString(R.string.selected_track_key))) {
|
||||||
setSelectedTrack(selectedTrackId);
|
long selectedTrackId =
|
||||||
} else if (key.equals(getString(R.string.recording_track_key))) {
|
sharedPreferences.getLong(
|
||||||
recordingTrackId =
|
getString(R.string.selected_track_key),
|
||||||
sharedPreferences.getLong(getString(R.string.recording_track_key),
|
-1);
|
||||||
-1);
|
setSelectedTrack(selectedTrackId);
|
||||||
if (selectedTrack != null) {
|
} else if (key.equals(getString(R.string.recording_track_key))) {
|
||||||
mapOverlay.setShowEndMarker(
|
recordingTrackId =
|
||||||
selectedTrack.getId() != recordingTrackId);
|
sharedPreferences.getLong(
|
||||||
mapView.postInvalidate();
|
getString(R.string.recording_track_key),
|
||||||
|
-1);
|
||||||
|
if (selectedTrack != null) {
|
||||||
|
mapOverlay.setShowEndMarker(
|
||||||
|
selectedTrack.getId() != recordingTrackId);
|
||||||
|
mapView.postInvalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -216,43 +216,51 @@ public class StatsActivity extends Activity
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSharedPreferenceChanged(
|
public void onSharedPreferenceChanged(
|
||||||
SharedPreferences sharedPreferences, String key) {
|
final SharedPreferences sharedPreferences, final String key) {
|
||||||
Log.d(MyTracksConstants.TAG,
|
Log.d(MyTracksConstants.TAG,
|
||||||
"StatsActivity: onSharedPreferences changed " + key);
|
"StatsActivity: onSharedPreferences changed " + key);
|
||||||
if (key != null) {
|
if (key != null) {
|
||||||
if (key.equals(getString(R.string.selected_track_key))) {
|
runOnUiThread(new Runnable() {
|
||||||
selectedTrackId =
|
@Override
|
||||||
sharedPreferences.getLong(getString(R.string.selected_track_key),
|
public void run() {
|
||||||
-1);
|
if (key.equals(getString(R.string.selected_track_key))) {
|
||||||
checkLiveTrack();
|
selectedTrackId =
|
||||||
restoreStats();
|
sharedPreferences.getLong(
|
||||||
updateLocation(null);
|
getString(R.string.selected_track_key),
|
||||||
} else if (key.equals(getString(R.string.recording_track_key))) {
|
-1);
|
||||||
recordingTrackId =
|
checkLiveTrack();
|
||||||
sharedPreferences.getLong(getString(R.string.recording_track_key),
|
restoreStats();
|
||||||
-1);
|
updateLocation(null);
|
||||||
checkLiveTrack();
|
} else if (key.equals(getString(R.string.recording_track_key))) {
|
||||||
restoreStats();
|
recordingTrackId =
|
||||||
updateLocation(null);
|
sharedPreferences.getLong(
|
||||||
} else if (key.equals(getString(R.string.metric_units_key))) {
|
getString(R.string.recording_track_key),
|
||||||
metricUnits =
|
-1);
|
||||||
sharedPreferences.getBoolean(
|
checkLiveTrack();
|
||||||
getString(R.string.metric_units_key), true);
|
restoreStats();
|
||||||
utils.setMetricUnits(metricUnits);
|
updateLocation(null);
|
||||||
utils.updateUnits();
|
} else if (key.equals(getString(R.string.metric_units_key))) {
|
||||||
restoreStats();
|
metricUnits =
|
||||||
} else if (key.equals(getString(R.string.report_speed_key))) {
|
sharedPreferences.getBoolean(
|
||||||
displaySpeed =
|
getString(R.string.metric_units_key), true);
|
||||||
sharedPreferences.getBoolean(getString(R.string.report_speed_key),
|
utils.setMetricUnits(metricUnits);
|
||||||
true);
|
utils.updateUnits();
|
||||||
utils.setReportSpeed(displaySpeed);
|
restoreStats();
|
||||||
utils.updateUnits();
|
} else if (key.equals(getString(R.string.report_speed_key))) {
|
||||||
utils.setSpeedLabel(
|
displaySpeed =
|
||||||
R.id.speed_label, R.string.speed, R.string.pace_label);
|
sharedPreferences.getBoolean(
|
||||||
Log.w(MyTracksConstants.TAG, "Setting speed labels");
|
getString(R.string.report_speed_key),
|
||||||
utils.setSpeedLabels();
|
true);
|
||||||
restoreStats();
|
utils.setReportSpeed(displaySpeed);
|
||||||
}
|
utils.updateUnits();
|
||||||
|
utils.setSpeedLabel(
|
||||||
|
R.id.speed_label, R.string.speed, R.string.pace_label);
|
||||||
|
Log.w(MyTracksConstants.TAG, "Setting speed labels");
|
||||||
|
utils.setSpeedLabels();
|
||||||
|
restoreStats();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -353,8 +361,13 @@ public class StatsActivity extends Activity
|
|||||||
}
|
}
|
||||||
|
|
||||||
track = providerUtils.getTrack(selectedTrackId);
|
track = providerUtils.getTrack(selectedTrackId);
|
||||||
|
if (track == null || track.getStatistics() == null) {
|
||||||
|
utils.setAllToUnknown();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
startTime = track.getStatistics().getStartTime();
|
startTime = track.getStatistics().getStartTime();
|
||||||
if(!selectedTrackIsRecording()) {
|
if (!selectedTrackIsRecording()) {
|
||||||
utils.setTime(R.id.total_time_register,
|
utils.setTime(R.id.total_time_register,
|
||||||
track.getStatistics().getTotalTime());
|
track.getStatistics().getTotalTime());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ import android.app.Service;
|
|||||||
import android.content.ContentValues;
|
import android.content.ContentValues;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.database.sqlite.SQLiteException;
|
import android.database.sqlite.SQLiteException;
|
||||||
import android.location.Location;
|
import android.location.Location;
|
||||||
|
|||||||
Reference in New Issue
Block a user