|
|
|
@ -10,6 +10,7 @@ import org.tasks.injection.InjectingPreferenceActivity;
|
|
|
|
|
public class AppearancePreferences extends InjectingPreferenceActivity {
|
|
|
|
|
|
|
|
|
|
public static String FORCE_REFRESH = "force_refresh";
|
|
|
|
|
public static String FILTERS_CHANGED = "filters_changed";
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onCreate(Bundle savedInstanceState) {
|
|
|
|
@ -17,16 +18,19 @@ public class AppearancePreferences extends InjectingPreferenceActivity {
|
|
|
|
|
|
|
|
|
|
addPreferencesFromResource(R.xml.preferences_appearance);
|
|
|
|
|
|
|
|
|
|
setRefreshOnChange(R.string.p_use_dark_theme);
|
|
|
|
|
setRefreshOnChange(R.string.p_fontSize);
|
|
|
|
|
setRefreshOnChange(R.string.p_fullTaskTitle);
|
|
|
|
|
setExtraOnChange(R.string.p_use_dark_theme, FORCE_REFRESH);
|
|
|
|
|
setExtraOnChange(R.string.p_fontSize, FORCE_REFRESH);
|
|
|
|
|
setExtraOnChange(R.string.p_fullTaskTitle, FORCE_REFRESH);
|
|
|
|
|
setExtraOnChange(R.string.p_show_today_filter, FILTERS_CHANGED);
|
|
|
|
|
setExtraOnChange(R.string.p_show_recently_modified_filter, FILTERS_CHANGED);
|
|
|
|
|
setExtraOnChange(R.string.p_show_not_in_list_filter, FILTERS_CHANGED);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void setRefreshOnChange(int resId) {
|
|
|
|
|
private void setExtraOnChange(int resId, final String extra) {
|
|
|
|
|
findPreference(getString(resId)).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
|
|
|
|
setResult(RESULT_OK, new Intent().putExtra(FORCE_REFRESH, true));
|
|
|
|
|
setResult(RESULT_OK, new Intent().putExtra(extra, true));
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|