package com.greenaddress.greenbits.ui.preferences; import android.content.Intent; import android.os.Bundle; import android.preference.Preference; import android.preference.PreferenceFragment; import android.view.MenuItem; import com.greenaddress.greenbits.GaService; import com.greenaddress.greenbits.GreenAddressApplication; public class GAPreferenceFragment extends PreferenceFragment { protected GaService mService; @Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); final GreenAddressApplication app; app = ((GreenAddressApplication) getActivity().getApplication()); mService = app.mService; } private static final Preference.OnPreferenceChangeListener onPreferenceChanged = new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(final Preference preference, final Object value) { preference.setSummary(value.toString()); return true; } }; protected void bindPreferenceSummaryToValue(final Preference preference) { preference.setOnPreferenceChangeListener(onPreferenceChanged); // Trigger the listener immediately with the preference's // current value. final String currentVal = mService.cfg().getString(preference.getKey(), ""); onPreferenceChanged.onPreferenceChange(preference, currentVal); } @Override public boolean onOptionsItemSelected(final MenuItem item) { if (item.getItemId() == android.R.id.home) { startActivity(new Intent(getActivity(), SettingsActivity.class)); return true; } return super.onOptionsItemSelected(item); } protected <T> T find(final String preferenceName) { return (T) findPreference(preferenceName); } protected void removePreference(final Preference pref) { if (pref != null) getPreferenceScreen().removePreference(pref); } protected void removePreference(final String preferenceName) { removePreference(findPreference(preferenceName)); } }