diff --git a/MyTracks/src/com/google/android/apps/mytracks/MarkerListActivity.java b/MyTracks/src/com/google/android/apps/mytracks/MarkerListActivity.java index adb6c550a..e7711f286 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/MarkerListActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/MarkerListActivity.java @@ -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(); + } + }); } } }; diff --git a/MyTracks/src/com/google/android/apps/mytracks/SearchListActivity.java b/MyTracks/src/com/google/android/apps/mytracks/SearchListActivity.java index 1d489aa14..7a817176c 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/SearchListActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/SearchListActivity.java @@ -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(); + } + }); } } }; diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java index 13e54fd28..e2bc188ef 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java @@ -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); + } + }); } } }; diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java index 5f7d32a9f..7bb470c4a 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java @@ -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); + } + }); } } }; diff --git a/MyTracks/src/com/google/android/apps/mytracks/settings/BackupSettingsActivity.java b/MyTracks/src/com/google/android/apps/mytracks/settings/BackupSettingsActivity.java index 3f9d1cd16..52b5abad6 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/settings/BackupSettingsActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/settings/BackupSettingsActivity.java @@ -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(); + } + }); } } }; diff --git a/MyTracks/src/com/google/android/apps/mytracks/settings/StatsSettingsActivity.java b/MyTracks/src/com/google/android/apps/mytracks/settings/StatsSettingsActivity.java index 299478c74..a68357de7 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/settings/StatsSettingsActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/settings/StatsSettingsActivity.java @@ -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(); + } + }); } } };