package com.npes87184.s2tdroid.donate;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import com.npes87184.s2tdroid.donate.model.KeyCollection;
/**
* Created by npes87184 on 2015/5/17.
*/
public class SettingFragment extends PreferenceFragment implements
SharedPreferences.OnSharedPreferenceChangeListener {
private Preference mode;
private Preference bubble_mode;
private SharedPreferences prefs;
private Preference outEncodePreference;
private Preference encoding;
private static SettingFragment fragment;
public static SettingFragment newInstance() {
if(fragment==null) {
fragment = new SettingFragment();
}
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.setting);
prefs = getPreferenceManager().getSharedPreferences();
prefs.registerOnSharedPreferenceChangeListener(this);
mode = findPreference(KeyCollection.KEY_MODE);
if(prefs.getString(KeyCollection.KEY_MODE, "0").equals("t2s")) {
mode.setSummary(getActivity().getString(R.string.t2s));
} else if(prefs.getString(KeyCollection.KEY_MODE, "0").equals("s2t")) {
mode.setSummary(getActivity().getString(R.string.s2t));
} else {
mode.setSummary(getActivity().getString(R.string.auto_detect));
}
bubble_mode = findPreference(KeyCollection.KEY_BUBBLE_MODE);
if(prefs.getString(KeyCollection.KEY_BUBBLE_MODE, "0").equals("t2s")) {
bubble_mode.setSummary(getActivity().getString(R.string.t2s));
} else if(prefs.getString(KeyCollection.KEY_BUBBLE_MODE, "0").equals("s2t")) {
bubble_mode.setSummary(getActivity().getString(R.string.s2t));
} else {
bubble_mode.setSummary(getActivity().getString(R.string.auto_detect));
}
encoding = findPreference(KeyCollection.KEY_ENCODING);
encoding.setSummary(prefs.getString(KeyCollection.KEY_ENCODING, "0").equals("0")?
getResources().getString(R.string.auto_detect):prefs.getString(KeyCollection.KEY_ENCODING, "UTF-8"));
outEncodePreference = findPreference(KeyCollection.KEY_OUTPUT_ENCODING);
outEncodePreference.setSummary(prefs.getString(KeyCollection.KEY_OUTPUT_ENCODING, "Unicode"));
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals(KeyCollection.KEY_ENCODING)) {
encoding.setSummary(prefs.getString(KeyCollection.KEY_ENCODING, "0").equals("0")?
getResources().getString(R.string.auto_detect):prefs.getString(KeyCollection.KEY_ENCODING, "UTF-8"));
} else if (key.equals(KeyCollection.KEY_OUTPUT_ENCODING)) {
outEncodePreference.setSummary(sharedPreferences.getString(KeyCollection.KEY_OUTPUT_ENCODING, "Unicode"));
} else if (key.equals(KeyCollection.KEY_MODE)) {
if(prefs.getString(KeyCollection.KEY_MODE, "0").equals("t2s")) {
mode.setSummary(getActivity().getString(R.string.t2s));
} else if(prefs.getString(KeyCollection.KEY_MODE, "0").equals("s2t")) {
mode.setSummary(getActivity().getString(R.string.s2t));
} else {
mode.setSummary(getActivity().getString(R.string.auto_detect));
}
} else if(key.equals(KeyCollection.KEY_BUBBLE_MODE)) {
if(prefs.getString(KeyCollection.KEY_BUBBLE_MODE, "0").equals("t2s")) {
bubble_mode.setSummary(getActivity().getString(R.string.t2s));
} else if(prefs.getString(KeyCollection.KEY_BUBBLE_MODE, "0").equals("s2t")) {
bubble_mode.setSummary(getActivity().getString(R.string.s2t));
} else {
bubble_mode.setSummary(getActivity().getString(R.string.auto_detect));
}
}
}
}