In TrackListView, only update the list when certain keys are changed.

This commit is contained in:
Jimmy Shih
2012-04-25 18:13:30 -07:00
parent 2b6309f7c1
commit 4018237691
@@ -101,7 +101,6 @@ public class TrackListActivity extends FragmentActivity {
startActivity(intent); startActivity(intent);
Toast.makeText( Toast.makeText(
TrackListActivity.this, R.string.track_list_record_success, Toast.LENGTH_SHORT).show(); TrackListActivity.this, R.string.track_list_record_success, Toast.LENGTH_SHORT).show();
Log.d(TAG, "Started a new recording");
} catch (Exception e) { } catch (Exception e) {
Toast.makeText(TrackListActivity.this, R.string.track_list_record_error, Toast.LENGTH_LONG) Toast.makeText(TrackListActivity.this, R.string.track_list_record_error, Toast.LENGTH_LONG)
.show(); .show();
@@ -118,9 +117,11 @@ public class TrackListActivity extends FragmentActivity {
sharedPreferenceChangeListener = new OnSharedPreferenceChangeListener() { sharedPreferenceChangeListener = new OnSharedPreferenceChangeListener() {
@Override @Override
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) { public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
boolean updateList = false;
// Note that key can be null // Note that key can be null
if (PreferencesUtils.getMetricUnitsKey(TrackListActivity.this).equals(key)) { if (PreferencesUtils.getMetricUnitsKey(TrackListActivity.this).equals(key)) {
metricUnits = PreferencesUtils.isMetricUnits(TrackListActivity.this); metricUnits = PreferencesUtils.isMetricUnits(TrackListActivity.this);
updateList = true;
} }
if (PreferencesUtils.getRecordingTrackIdKey(TrackListActivity.this).equals(key)) { if (PreferencesUtils.getRecordingTrackIdKey(TrackListActivity.this).equals(key)) {
recordingTrackId = PreferencesUtils.getRecordingTrackId(TrackListActivity.this); recordingTrackId = PreferencesUtils.getRecordingTrackId(TrackListActivity.this);
@@ -129,8 +130,11 @@ public class TrackListActivity extends FragmentActivity {
trackRecordingServiceConnection.startAndBind(); trackRecordingServiceConnection.startAndBind();
} }
updateMenu(); updateMenu();
updateList = true;
}
if (updateList) {
resourceCursorAdapter.notifyDataSetChanged();
} }
resourceCursorAdapter.notifyDataSetChanged();
} }
}; };