Fix: Use PreferencesActivity resultCodes properly

This fixes useless restarts/reloads, and missing ones too.
This commit is contained in:
Daniel Martí 2014-01-10 18:03:02 +01:00
parent c0fad0fe26
commit 9f4bfe015c

View File

@ -85,8 +85,7 @@ public class PreferencesActivity extends PreferenceActivity implements
pref.getText())); pref.getText()));
} }
protected void updateSummary(String key, boolean changing) {
protected void updateSummary(String key) {
if (key.equals(Preferences.PREF_UPD_INTERVAL)) { if (key.equals(Preferences.PREF_UPD_INTERVAL)) {
ListPreference pref = (ListPreference)findPreference( ListPreference pref = (ListPreference)findPreference(
@ -122,20 +121,26 @@ public class PreferencesActivity extends PreferenceActivity implements
} else if (key.equals(Preferences.PREF_THEME)) { } else if (key.equals(Preferences.PREF_THEME)) {
entrySummary(key); entrySummary(key);
result |= RESULT_RESTART; if (changing) {
setResult(result); result |= RESULT_RESTART;
setResult(result);
}
} else if (key.equals(Preferences.PREF_INCOMP_VER)) { } else if (key.equals(Preferences.PREF_INCOMP_VER)) {
onoffSummary(key, R.string.show_incompat_versions_on, onoffSummary(key, R.string.show_incompat_versions_on,
R.string.show_incompat_versions_off); R.string.show_incompat_versions_off);
result ^= RESULT_RELOAD; if (changing) {
setResult(result); result ^= RESULT_RELOAD;
setResult(result);
}
} else if (key.equals(Preferences.PREF_ROOTED)) { } else if (key.equals(Preferences.PREF_ROOTED)) {
onoffSummary(key, R.string.rooted_on, onoffSummary(key, R.string.rooted_on,
R.string.rooted_off); R.string.rooted_off);
result ^= RESULT_REFILTER; if (changing) {
setResult(result); result ^= RESULT_REFILTER;
setResult(result);
}
} else if (key.equals(Preferences.PREF_IGN_TOUCH)) { } else if (key.equals(Preferences.PREF_IGN_TOUCH)) {
onoffSummary(key, R.string.ignoreTouch_on, onoffSummary(key, R.string.ignoreTouch_on,
@ -163,7 +168,7 @@ public class PreferencesActivity extends PreferenceActivity implements
(OnSharedPreferenceChangeListener)this); (OnSharedPreferenceChangeListener)this);
for (String key : summariesToUpdate) { for (String key : summariesToUpdate) {
updateSummary(key); updateSummary(key, false);
} }
} }
@ -188,7 +193,7 @@ public class PreferencesActivity extends PreferenceActivity implements
public void onSharedPreferenceChanged( public void onSharedPreferenceChanged(
SharedPreferences sharedPreferences, String key) { SharedPreferences sharedPreferences, String key) {
updateSummary(key); updateSummary(key, true);
} }
} }