From 4018237691c9b61473ef2c345d033726b8524fa2 Mon Sep 17 00:00:00 2001 From: Jimmy Shih Date: Wed, 25 Apr 2012 18:13:30 -0700 Subject: [PATCH] In TrackListView, only update the list when certain keys are changed. --- .../google/android/apps/mytracks/TrackListActivity.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java index a3e0838b5..f76417309 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java @@ -101,7 +101,6 @@ public class TrackListActivity extends FragmentActivity { startActivity(intent); Toast.makeText( TrackListActivity.this, R.string.track_list_record_success, Toast.LENGTH_SHORT).show(); - Log.d(TAG, "Started a new recording"); } catch (Exception e) { Toast.makeText(TrackListActivity.this, R.string.track_list_record_error, Toast.LENGTH_LONG) .show(); @@ -118,9 +117,11 @@ public class TrackListActivity extends FragmentActivity { sharedPreferenceChangeListener = new OnSharedPreferenceChangeListener() { @Override public void onSharedPreferenceChanged(SharedPreferences preferences, String key) { + boolean updateList = false; // Note that key can be null if (PreferencesUtils.getMetricUnitsKey(TrackListActivity.this).equals(key)) { metricUnits = PreferencesUtils.isMetricUnits(TrackListActivity.this); + updateList = true; } if (PreferencesUtils.getRecordingTrackIdKey(TrackListActivity.this).equals(key)) { recordingTrackId = PreferencesUtils.getRecordingTrackId(TrackListActivity.this); @@ -129,8 +130,11 @@ public class TrackListActivity extends FragmentActivity { trackRecordingServiceConnection.startAndBind(); } updateMenu(); + updateList = true; + } + if (updateList) { + resourceCursorAdapter.notifyDataSetChanged(); } - resourceCursorAdapter.notifyDataSetChanged(); } };