From 02bac89b178649b2c15f0104abfbff86041e1083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Wed, 1 Jan 2014 00:38:47 +0100 Subject: [PATCH] Do on/off and value summaries for auto updates --- res/values/strings.xml | 7 ++-- res/xml/preferences.xml | 6 +-- .../fdroid/fdroid/PreferencesActivity.java | 42 +++++++++++++++---- 3 files changed, 42 insertions(+), 13 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 357e0c409..4203c469f 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -14,10 +14,11 @@ Last repo scan: %s never - Automatic repo scan - Update app list from repositories automatically + Automatic update interval + No automatic app list updates Only on wifi - Update app lists automatically only on wifi + Update app lists automatically only on wifi + Always update app lists automatically Notify Notify when new updates are available Update history diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index d1ad376e2..4cf7eaea1 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -1,12 +1,12 @@ - 0); + onlyOnWifi.setEnabled(interval > 0); + + if (interval == 0) { + updateInterval.setSummary(R.string.update_interval_zero); + } else { + updateInterval.setSummary(updateInterval.getEntry()); + } } @Override @@ -78,14 +88,32 @@ public class PreferencesActivity extends PreferenceActivity implements } @Override - public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { + public void onSharedPreferenceChanged( + SharedPreferences sharedPreferences, String key) { if (key.equals(Preferences.PREF_UPD_INTERVAL)) { - int interval = Integer.parseInt( - sharedPreferences.getString(key, "").toString()); + ListPreference pref = (ListPreference)findPreference( + Preferences.PREF_UPD_INTERVAL); + int interval = Integer.parseInt(pref.getValue().toString()); Preference onlyOnWifi = findPreference( Preferences.PREF_UPD_WIFI_ONLY); onlyOnWifi.setEnabled(interval > 0); + if (interval == 0) { + pref.setSummary(R.string.update_interval_zero); + } else { + pref.setSummary(pref.getEntry()); + } + return; + } + + if (key.equals(Preferences.PREF_UPD_WIFI_ONLY)) { + Preference pref = findPreference(Preferences.PREF_UPD_WIFI_ONLY); + if (sharedPreferences.getBoolean( + Preferences.PREF_UPD_WIFI_ONLY, false)) { + pref.setSummary(R.string.automatic_scan_wifi_on); + } else { + pref.setSummary(R.string.automatic_scan_wifi_off); + } return; } @@ -115,7 +143,7 @@ public class PreferencesActivity extends PreferenceActivity implements setResult(result); Preference pref = findPreference(Preferences.PREF_ROOTED); if (sharedPreferences.getBoolean( - Preferences.PREF_ROOTED, false)) { + Preferences.PREF_ROOTED, true)) { pref.setSummary(R.string.rooted_on); } else { pref.setSummary(R.string.rooted_off);