update UI in onSharedPreferenceChangedListener in the UI thread

This commit is contained in:
Jimmy Shih
2012-11-02 14:21:59 -07:00
parent b4eaad984e
commit 3c59a33759
6 changed files with 45 additions and 27 deletions
@@ -94,7 +94,12 @@ public class MarkerListActivity extends AbstractMyTracksActivity {
PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT);
}
if (key != null) {
updateMenu();
runOnUiThread(new Runnable() {
@Override
public void run() {
updateMenu();
}
});
}
}
};
@@ -110,7 +110,12 @@ public class SearchListActivity extends AbstractMyTracksActivity implements Dele
PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT);
}
if (key != null) {
arrayAdapter.notifyDataSetChanged();
runOnUiThread(new Runnable() {
@Override
public void run() {
arrayAdapter.notifyDataSetChanged();
}
});
}
}
};
@@ -133,9 +133,14 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT);
}
if (key != null) {
boolean isRecording = trackId == recordingTrackId;
updateMenuItems(isRecording, recordingTrackPaused);
trackController.update(isRecording, recordingTrackPaused);
runOnUiThread(new Runnable() {
@Override
public void run() {
boolean isRecording = trackId == recordingTrackId;
updateMenuItems(isRecording, recordingTrackPaused);
trackController.update(isRecording, recordingTrackPaused);
}
});
}
}
};
@@ -144,24 +144,13 @@ public class TrackListActivity extends FragmentActivity implements DeleteOneTrac
PreferencesUtils.getKey(TrackListActivity.this, R.string.metric_units_key))) {
metricUnits = PreferencesUtils.getBoolean(TrackListActivity.this,
R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT);
if (key != null) {
resourceCursorAdapter.notifyDataSetChanged();
return;
}
}
if (key == null || key.equals(
PreferencesUtils.getKey(TrackListActivity.this, R.string.recording_track_id_key))) {
recordingTrackId = PreferencesUtils.getLong(
TrackListActivity.this, R.string.recording_track_id_key);
if (key != null) {
boolean isRecording = recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
if (isRecording) {
trackRecordingServiceConnection.startAndBind();
}
updateMenuItems(isRecording);
resourceCursorAdapter.notifyDataSetChanged();
trackController.update(isRecording, recordingTrackPaused);
return;
if (key != null && recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT) {
trackRecordingServiceConnection.startAndBind();
}
}
if (key == null || key.equals(PreferencesUtils.getKey(
@@ -169,13 +158,17 @@ public class TrackListActivity extends FragmentActivity implements DeleteOneTrac
recordingTrackPaused = PreferencesUtils.getBoolean(TrackListActivity.this,
R.string.recording_track_paused_key,
PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT);
if (key != null) {
resourceCursorAdapter.notifyDataSetChanged();
trackController.update(
recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT,
recordingTrackPaused);
return;
}
}
if (key != null) {
runOnUiThread(new Runnable() {
@Override
public void run() {
boolean isRecording = recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
updateMenuItems(isRecording);
resourceCursorAdapter.notifyDataSetChanged();
trackController.update(isRecording, recordingTrackPaused);
}
});
}
}
};
@@ -63,7 +63,12 @@ public class BackupSettingsActivity extends AbstractSettingsActivity {
BackupSettingsActivity.this, R.string.recording_track_id_key);
}
if (key != null) {
updateUi();
runOnUiThread(new Runnable() {
@Override
public void run() {
updateUi();
}
});
}
}
};
@@ -47,7 +47,12 @@ public class StatsSettingsActivity extends AbstractSettingsActivity {
R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT);
}
if (key != null) {
updateUi();
runOnUiThread(new Runnable() {
@Override
public void run() {
updateUi();
}
});
}
}
};