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));
}
}