use of com.takisoft.preferencex.EditTextPreference in project RespawnIRC-Android by FranckRJ.
the class SettingsFragment method updatePrefSummary.
private void updatePrefSummary(Preference pref) {
if (pref instanceof EditTextPreference) {
EditTextPreference editTextPref = (EditTextPreference) pref;
MinMaxInfos prefMinMax = listOfMinMaxInfos.get(editTextPref.getKey());
if (prefMinMax != null) {
editTextPref.setSummary("Entre " + String.valueOf(prefMinMax.min) + " et " + String.valueOf(prefMinMax.max) + " : " + editTextPref.getText());
}
}
}
use of com.takisoft.preferencex.EditTextPreference in project RespawnIRC-Android by FranckRJ.
the class SettingsFragment method onSharedPreferenceChanged.
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
Preference pref = findPreference(key);
if (pref instanceof EditTextPreference) {
EditTextPreference editTextPref = (EditTextPreference) pref;
MinMaxInfos prefMinMax = listOfMinMaxInfos.get(editTextPref.getKey());
if (prefMinMax != null) {
int prefValue = 0;
if (!editTextPref.getText().isEmpty()) {
try {
prefValue = Integer.parseInt(editTextPref.getText());
} catch (Exception e) {
prefValue = 999999999;
}
}
if (prefValue < prefMinMax.min) {
prefValue = prefMinMax.min;
} else if (prefValue > prefMinMax.max) {
prefValue = prefMinMax.max;
}
editTextPref.setText(String.valueOf(prefValue));
}
} else if (key.equals(getString(R.string.settingsThemeUsed))) {
ThemeManager.updateThemeUsed();
if (getActivity() != null) {
getActivity().recreate();
}
} else if (key.equals(getString(R.string.settingsInvertToolbarTextColor))) {
ThemeManager.updateToolbarTextColor();
if (getActivity() != null) {
getActivity().recreate();
}
} else if (key.equals(getString(R.string.settingsPrimaryColorOfLightTheme)) || key.equals(getString(R.string.settingsTopicNameAndAccentColorOfLightTheme))) {
if (getActivity() != null) {
ThemeManager.updateColorsUsed(getResources());
getActivity().recreate();
}
} else if (key.startsWith("settings.customColor.")) {
if (getActivity() != null) {
ThemeManager.updateColorsUsed(getResources());
}
}
updatePrefSummary(pref);
}
use of com.takisoft.preferencex.EditTextPreference in project RespawnIRC-Android by FranckRJ.
the class SettingsFragment method updatePrefDefaultValue.
/* Le but de la clef temporaire est de ne pas sauvegarder l'option par défaut si c'est celle ci
* qui est retourné par "PrefsManager.getX()". La clef temporaire n'est pas vide pour empêcher
* des possibles crash (des histoires de requireKey() etc). Elle est unique par type de pref pour
* ne pas causer de crash lors de l'assignation d'un string à ce qui était précédement un bool.
* La persistance est temporairement à false pour plus de sécurité, au cas où, dans le doute,
* mais ça reste plutôt assez moche comme solution au final. */
private static void updatePrefDefaultValue(Preference pref) {
String realPrefKey = pref.getKey();
pref.setPersistent(false);
if (pref instanceof CheckBoxPreference) {
pref.setKey("tmpKeyBool");
CheckBoxPreference checkBoxPref = (CheckBoxPreference) pref;
checkBoxPref.setChecked(PrefsManager.getBool(realPrefKey));
} else if (pref instanceof SwitchPreferenceCompat) {
pref.setKey("tmpKeyBool");
SwitchPreferenceCompat switchPref = (SwitchPreferenceCompat) pref;
switchPref.setChecked(PrefsManager.getBool(realPrefKey));
} else if (pref instanceof EditTextPreference) {
pref.setKey("tmpKeyString");
EditTextPreference editTextPref = (EditTextPreference) pref;
editTextPref.setText(PrefsManager.getString(realPrefKey));
} else if (pref instanceof ListPreference) {
pref.setKey("tmpKeyString");
ListPreference listPref = (ListPreference) pref;
listPref.setValue(PrefsManager.getString(realPrefKey));
}
pref.setPersistent(true);
pref.setKey(realPrefKey);
}
Aggregations