From 9f4bfe015c3baa3a38ffcbc81b01387f4438fbf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Fri, 10 Jan 2014 18:03:02 +0100 Subject: [PATCH] Fix: Use PreferencesActivity resultCodes properly This fixes useless restarts/reloads, and missing ones too. --- .../fdroid/fdroid/PreferencesActivity.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/org/fdroid/fdroid/PreferencesActivity.java b/src/org/fdroid/fdroid/PreferencesActivity.java index 5491ce26c..109b08870 100644 --- a/src/org/fdroid/fdroid/PreferencesActivity.java +++ b/src/org/fdroid/fdroid/PreferencesActivity.java @@ -85,8 +85,7 @@ public class PreferencesActivity extends PreferenceActivity implements pref.getText())); } - - protected void updateSummary(String key) { + protected void updateSummary(String key, boolean changing) { if (key.equals(Preferences.PREF_UPD_INTERVAL)) { ListPreference pref = (ListPreference)findPreference( @@ -122,20 +121,26 @@ public class PreferencesActivity extends PreferenceActivity implements } else if (key.equals(Preferences.PREF_THEME)) { entrySummary(key); - result |= RESULT_RESTART; - setResult(result); + if (changing) { + result |= RESULT_RESTART; + setResult(result); + } } else if (key.equals(Preferences.PREF_INCOMP_VER)) { onoffSummary(key, R.string.show_incompat_versions_on, R.string.show_incompat_versions_off); - result ^= RESULT_RELOAD; - setResult(result); + if (changing) { + result ^= RESULT_RELOAD; + setResult(result); + } } else if (key.equals(Preferences.PREF_ROOTED)) { onoffSummary(key, R.string.rooted_on, R.string.rooted_off); - result ^= RESULT_REFILTER; - setResult(result); + if (changing) { + result ^= RESULT_REFILTER; + setResult(result); + } } else if (key.equals(Preferences.PREF_IGN_TOUCH)) { onoffSummary(key, R.string.ignoreTouch_on, @@ -163,7 +168,7 @@ public class PreferencesActivity extends PreferenceActivity implements (OnSharedPreferenceChangeListener)this); for (String key : summariesToUpdate) { - updateSummary(key); + updateSummary(key, false); } } @@ -188,7 +193,7 @@ public class PreferencesActivity extends PreferenceActivity implements public void onSharedPreferenceChanged( SharedPreferences sharedPreferences, String key) { - updateSummary(key); + updateSummary(key, true); } }