Update summaries on onResume() consistently
This commit is contained in:
parent
177b2a170d
commit
d1d88ea26b
@ -156,8 +156,8 @@
|
|||||||
<string name="showPermissions_long">Display a list of permissions an app needs</string>
|
<string name="showPermissions_long">Display a list of permissions an app needs</string>
|
||||||
<string name="no_handler_app">You don\'t have any available app that can handle %s</string>
|
<string name="no_handler_app">You don\'t have any available app that can handle %s</string>
|
||||||
<string name="compactlayout">Compact Layout</string>
|
<string name="compactlayout">Compact Layout</string>
|
||||||
<string name="compactlayout_on">Show icons at regular size</string>
|
<string name="compactlayout_on">Show icons at a smaller size</string>
|
||||||
<string name="compactlayout_off">Show icons at a smaller size</string>
|
<string name="compactlayout_off">Show icons at regular size</string>
|
||||||
<string name="theme">Theme</string>
|
<string name="theme">Theme</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -21,6 +21,7 @@ package org.fdroid.fdroid;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceActivity;
|
import android.preference.PreferenceActivity;
|
||||||
|
import android.preference.CheckBoxPreference;
|
||||||
import android.preference.ListPreference;
|
import android.preference.ListPreference;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
||||||
@ -39,6 +40,15 @@ public class PreferencesActivity extends PreferenceActivity implements
|
|||||||
public static final int RESULT_RESTART = 4;
|
public static final int RESULT_RESTART = 4;
|
||||||
private int result = 0;
|
private int result = 0;
|
||||||
|
|
||||||
|
private static String[] summariesToUpdate = {
|
||||||
|
Preferences.PREF_UPD_INTERVAL,
|
||||||
|
Preferences.PREF_UPD_WIFI_ONLY,
|
||||||
|
Preferences.PREF_ROOTED,
|
||||||
|
Preferences.PREF_INCOMP_VER,
|
||||||
|
Preferences.PREF_THEME,
|
||||||
|
Preferences.PREF_COMPACT_LAYOUT,
|
||||||
|
Preferences.PREF_IGN_TOUCH };
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
((FDroidApp) getApplication()).applyTheme(this);
|
((FDroidApp) getApplication()).applyTheme(this);
|
||||||
@ -47,31 +57,96 @@ public class PreferencesActivity extends PreferenceActivity implements
|
|||||||
addPreferencesFromResource(R.xml.preferences);
|
addPreferencesFromResource(R.xml.preferences);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void updateSummary(String key) {
|
||||||
|
|
||||||
|
if (key.equals(Preferences.PREF_UPD_INTERVAL)) {
|
||||||
|
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)) {
|
||||||
|
CheckBoxPreference pref = (CheckBoxPreference)findPreference(
|
||||||
|
Preferences.PREF_UPD_WIFI_ONLY);
|
||||||
|
if (pref.isChecked()) {
|
||||||
|
pref.setSummary(R.string.automatic_scan_wifi_on);
|
||||||
|
} else {
|
||||||
|
pref.setSummary(R.string.automatic_scan_wifi_off);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (key.equals(Preferences.PREF_COMPACT_LAYOUT)) {
|
||||||
|
CheckBoxPreference pref = (CheckBoxPreference)findPreference(
|
||||||
|
Preferences.PREF_COMPACT_LAYOUT);
|
||||||
|
if (pref.isChecked()) {
|
||||||
|
pref.setSummary(R.string.compactlayout_on);
|
||||||
|
} else {
|
||||||
|
pref.setSummary(R.string.compactlayout_off);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (key.equals(Preferences.PREF_INCOMP_VER)) {
|
||||||
|
result ^= RESULT_RELOAD;
|
||||||
|
setResult(result);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (key.equals(Preferences.PREF_ROOTED)) {
|
||||||
|
result ^= RESULT_REFILTER;
|
||||||
|
setResult(result);
|
||||||
|
CheckBoxPreference pref = (CheckBoxPreference)findPreference(
|
||||||
|
Preferences.PREF_ROOTED);
|
||||||
|
if (pref.isChecked()) {
|
||||||
|
pref.setSummary(R.string.rooted_on);
|
||||||
|
} else {
|
||||||
|
pref.setSummary(R.string.rooted_off);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (key.equals(Preferences.PREF_IGN_TOUCH)) {
|
||||||
|
CheckBoxPreference pref = (CheckBoxPreference)findPreference(
|
||||||
|
Preferences.PREF_IGN_TOUCH);
|
||||||
|
if (pref.isChecked()) {
|
||||||
|
pref.setSummary(R.string.ignoreTouch_on);
|
||||||
|
} else {
|
||||||
|
pref.setSummary(R.string.ignoreTouch_off);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (key.equals(Preferences.PREF_THEME)) {
|
||||||
|
result |= RESULT_RESTART;
|
||||||
|
setResult(result);
|
||||||
|
ListPreference theme = (ListPreference)findPreference(
|
||||||
|
Preferences.PREF_THEME);
|
||||||
|
theme.setSummary(theme.getEntry());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
|
|
||||||
super.onResume();
|
super.onResume();
|
||||||
getPreferenceScreen().getSharedPreferences()
|
getPreferenceScreen().getSharedPreferences()
|
||||||
.registerOnSharedPreferenceChangeListener(
|
.registerOnSharedPreferenceChangeListener(
|
||||||
(OnSharedPreferenceChangeListener)this);
|
(OnSharedPreferenceChangeListener)this);
|
||||||
|
|
||||||
ListPreference updateInterval = (ListPreference)findPreference(
|
for (String key : summariesToUpdate) {
|
||||||
Preferences.PREF_UPD_INTERVAL);
|
updateSummary(key);
|
||||||
|
|
||||||
int interval = Integer.parseInt(updateInterval.getValue().toString());
|
|
||||||
|
|
||||||
Preference onlyOnWifi = findPreference(
|
|
||||||
Preferences.PREF_UPD_WIFI_ONLY);
|
|
||||||
onlyOnWifi.setEnabled(interval > 0);
|
|
||||||
|
|
||||||
if (interval == 0) {
|
|
||||||
updateInterval.setSummary(R.string.update_interval_zero);
|
|
||||||
} else {
|
|
||||||
updateInterval.setSummary(updateInterval.getEntry());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ListPreference theme = (ListPreference)findPreference(
|
|
||||||
Preferences.PREF_THEME);
|
|
||||||
theme.setSummary(theme.getEntry());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -95,85 +170,7 @@ public class PreferencesActivity extends PreferenceActivity implements
|
|||||||
public void onSharedPreferenceChanged(
|
public void onSharedPreferenceChanged(
|
||||||
SharedPreferences sharedPreferences, String key) {
|
SharedPreferences sharedPreferences, String key) {
|
||||||
|
|
||||||
if (key.equals(Preferences.PREF_UPD_INTERVAL)) {
|
updateSummary(key);
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (key.equals(Preferences.PREF_COMPACT_LAYOUT)) {
|
|
||||||
Preference pref = findPreference(Preferences.PREF_COMPACT_LAYOUT);
|
|
||||||
if (sharedPreferences.getBoolean(
|
|
||||||
Preferences.PREF_COMPACT_LAYOUT, false)) {
|
|
||||||
pref.setSummary(R.string.compactlayout_on);
|
|
||||||
} else {
|
|
||||||
pref.setSummary(R.string.compactlayout_off);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (key.equals(Preferences.PREF_COMPACT_LAYOUT)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (key.equals(Preferences.PREF_INCOMP_VER)) {
|
|
||||||
result ^= RESULT_RELOAD;
|
|
||||||
setResult(result);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (key.equals(Preferences.PREF_ROOTED)) {
|
|
||||||
result ^= RESULT_REFILTER;
|
|
||||||
setResult(result);
|
|
||||||
Preference pref = findPreference(Preferences.PREF_ROOTED);
|
|
||||||
if (sharedPreferences.getBoolean(
|
|
||||||
Preferences.PREF_ROOTED, true)) {
|
|
||||||
pref.setSummary(R.string.rooted_on);
|
|
||||||
} else {
|
|
||||||
pref.setSummary(R.string.rooted_off);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (key.equals(Preferences.PREF_IGN_TOUCH)) {
|
|
||||||
Preference pref = findPreference(Preferences.PREF_IGN_TOUCH);
|
|
||||||
if (sharedPreferences.getBoolean(
|
|
||||||
Preferences.PREF_IGN_TOUCH, false)) {
|
|
||||||
pref.setSummary(R.string.ignoreTouch_on);
|
|
||||||
} else {
|
|
||||||
pref.setSummary(R.string.ignoreTouch_off);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (key.equals(Preferences.PREF_THEME)) {
|
|
||||||
result |= RESULT_RESTART;
|
|
||||||
setResult(result);
|
|
||||||
ListPreference theme = (ListPreference)findPreference(
|
|
||||||
Preferences.PREF_THEME);
|
|
||||||
theme.setSummary(theme.getEntry());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user