package de.devland.masterpassword.ui.preferences;
import android.os.Build;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceCategory;
import de.devland.masterpassword.App;
import de.devland.masterpassword.R;
import de.devland.masterpassword.base.util.Utils;
import de.devland.masterpassword.util.event.ReloadDrawerEvent;
/**
* Created by David Kunzler on 19.10.2014.
*/
public class SettingsFragment extends BaseSettingsFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Add 'general' preferences.
addPreferencesFromResource(R.xml.pref_general);
// Add 'security' preferences
addPreferencesFromResource(R.xml.pref_security);
// Add 'about' preferences
addPreferencesFromResource(R.xml.pref_about);
((LanguagePreference) findPreference("language")).setSettingsActivity(getAppCompatActivity());
((VerifyPasswordPreference) findPreference("verifyPassword")).setSettingsActivity(getAppCompatActivity());
((InputStickPreference) findPreference("inputstick")).setSettingsActivity(getAppCompatActivity());
((PasswordAgePreference) findPreference("passwordage")).setSettingsActivity(getAppCompatActivity());
bindPreferenceSummaryToValue(findPreference("language"));
bindPreferenceSummaryToValue(findPreference("clipboardDuration"));
bindPreferenceSummaryToValue(findPreference("autoLogoutDuration"));
bindPreferenceSummaryToValue(findPreference("versionString"));
bindPreferenceSummaryToValue(findPreference("defaultPasswordType"));
Preference themeModePreference = findPreference("defaultThemeMode");
findPreference("lockCategories").setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
App.get().getBus().post(new ReloadDrawerEvent());
return true;
}
});
bindPreferenceSummaryToValue(themeModePreference);
themeModePreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
// bind to value
bindPreferenceSummaryToValueListener.onPreferenceChange(preference, newValue);
// set new theme value
Utils.setThemeModeFromName(newValue.toString());
return true;
}
});
Preference useLegacyFileManager = findPreference("useLegacyFileManager");
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
PreferenceCategory categoryGeneral = (PreferenceCategory) findPreference("category_general");
categoryGeneral.removePreference(useLegacyFileManager);
}
}
}