package fi.bitrite.android.ws.activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import com.afollestad.materialdialogs.prefs.MaterialListPreference;
import fi.bitrite.android.ws.BuildConfig;
import fi.bitrite.android.ws.R;
/**
* This fragment approach is thanks to http://stackoverflow.com/a/26564401/215713
*/
public class WsPreferenceFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener {
@Override
public void onCreate(final Bundle savedInstanceState){
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
if (BuildConfig.DEBUG) {
addPreferencesFromResource(R.xml.developer_options);
}
setSummary();
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
setSummary();
}
void setSummary() {
MaterialListPreference pref = (MaterialListPreference) findPreference("distance_unit");
CharSequence title = pref.getEntry();
pref.setSummary(title);
}
@Override
public void onPause() {
getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
super.onPause();
}
@Override
public void onResume() {
super.onResume();
getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}
}