12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package de.tudarmstadt.informatik.hostage.ui2.fragment;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import android.preference.EditTextPreference;
- import android.preference.Preference;
- import android.preference.PreferenceFragment;
- import android.preference.PreferenceScreen;
- import java.util.HashMap;
- import de.tudarmstadt.informatik.hostage.R;
- import de.tudarmstadt.informatik.hostage.ui2.activity.MainActivity;
- import de.tudarmstadt.informatik.hostage.ui2.fragment.interfaces.UpNavigatible;
- /**
- * @author Alexander Brakowski
- * @created 02.03.14 21:03
- */
- public class PreferenceHostageFrament extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener {
- private HashMap<String, String> mSuffixMap;
- private String[] mTextPreferences;
- @Override
- public void onCreate(Bundle savedInstanceState){
- super.onCreate(savedInstanceState);
- this.mTextPreferences = new String[]{
- "pref_external_location",
- "pref_upload_server",
- "pref_max_connections",
- "pref_timeout",
- "pref_sleeptime",
- "pref_location_time",
- "pref_location_retries"
- };
- this.mSuffixMap = new HashMap<String, String>();
- this.mSuffixMap.put("pref_timeout", "s");
- this.mSuffixMap.put("pref_sleeptime", "ms");
- this.mSuffixMap.put("pref_location_time", "ms");
- addPreferencesFromResource(R.xml.settings_preferences);
- for(String k: this.mTextPreferences){
- updatePreferenceSummary(k);
- }
- }
- private void updatePreferenceSummary(String key){
- Preference p = findPreference(key);
- SharedPreferences sharedPreferences = this.getPreferenceManager().getSharedPreferences();
- if(p != null && p instanceof EditTextPreference){
- String suffix = "";
- if(this.mSuffixMap.containsKey(key)){
- suffix = this.mSuffixMap.get(key);
- }
- p.setSummary(sharedPreferences.getString(key, "") + " " + suffix);
- }
- }
- @Override
- public void onResume() {
- super.onResume();
- getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
- }
- @Override
- public void onPause() {
- getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
- super.onPause();
- }
- /* @Override
- public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
- super.onPreferenceTreeClick(preferenceScreen, preference);
- if (preference instanceof PreferenceScreen) {
- if(MainActivity.getInstance().mDisplayedFragment != null && MainActivity.getInstance().mDisplayedFragment instanceof UpNavigatible){
- ((UpNavigatible) MainActivity.getInstance().mDisplayedFragment).setUpNavigatible(true);
- ((UpNavigatible) MainActivity.getInstance().mDisplayedFragment).setUpFragment(SettingsFragment.class);
- MainActivity.getInstance().setDrawerIndicatorEnabled(false);
- return true;
- }
- }
- return false;
- }*/
- @Override
- public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
- updatePreferenceSummary(key);
- }
- }
|