package br.com.extractor.easyfinance.ui.configuracoes;
import android.app.Activity;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import br.com.extractor.easyfinance.R;
import br.com.extractor.easyfinance.arquitetura.preference.Preferences;
import br.com.extractor.easyfinance.ui.ActivityCommunication;
import br.com.extractor.easyfinance.ui.FragmentCommunication;
public class ConfiguracoesFragment extends PreferenceFragment implements FragmentCommunication, Preference.OnPreferenceChangeListener {
private ActivityCommunication activityCommunication;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
configPreference(findPreference(Preferences.USERNAME));
}
private void configPreference(Preference preference) {
String value = Preferences.getString(preference.getKey(), "");
preference.setOnPreferenceChangeListener(this);
preference.setSummary(value);
preference.setDefaultValue(value);
}
@Override
public boolean hasPendencies() {
return false;
}
@Override
public void freePendencies() {
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
activityCommunication = (ActivityCommunication) activity;
} catch (Exception e) {
throw new ClassCastException(activity.getClass().getSimpleName() + " must implement "
+ ActivityCommunication.class.getSimpleName());
}
}
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
Preferences.putString(preference.getKey(), (String) o);
preference.setSummary((String) o);
preference.setDefaultValue(o);
activityCommunication.updateValues();
return false;
}
}