package it.angelic.soulissclient.preferences;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.util.Log;
import it.angelic.soulissclient.Constants;
import it.angelic.soulissclient.R;
import it.angelic.soulissclient.SoulissApp;
import it.angelic.soulissclient.helpers.SoulissPreferenceHelper;
/**
* Fragment of database options
*/
public class DbSettingsFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener {
private Preference dbinfopref;
private Preference imortDBPref;
private SoulissPreferenceHelper opzioni;
/*
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
TypedValue typedValue = new TypedValue();
Resources.Theme theme = getActivity().getTheme();
theme.resolveAttribute(R.attr.backgroundTint, typedValue, true);
@ColorInt int color = typedValue.data;
View view = super.onCreateView(inflater, container, savedInstanceState);
view.setBackgroundColor(color);
return view;
}
*/
@Override
public void onResume() {
super.onResume();
getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}
@Override
public void onPause() {
getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
super.onPause();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
opzioni = SoulissApp.getOpzioni();
addPreferencesFromResource(R.xml.settings_db);
Preference createDbPref = findPreference("createdb");
Preference dropDbPref = findPreference("dropdb");
Preference exportDBPref = findPreference("dbexp");
imortDBPref = findPreference("dbimp");
Preference optimDBPref = findPreference("dbopt");
dbinfopref = findPreference("dbinfo");
Preference sharesettingspref = findPreference("settingshare");
/* listeners DB */
DbPreferenceListener dbPrefListener = new DbPreferenceListener(getActivity());
exportDBPref.setOnPreferenceClickListener(dbPrefListener);
imortDBPref.setOnPreferenceClickListener(dbPrefListener);
createDbPref.setOnPreferenceClickListener(dbPrefListener);
dropDbPref.setOnPreferenceClickListener(dbPrefListener);
optimDBPref.setOnPreferenceClickListener(dbPrefListener);
sharesettingspref.setOnPreferenceClickListener(dbPrefListener);
String strMeatFormat = getResources().getString(R.string.opt_dbinfo_desc);
String strMeFormat = getResources().getString(R.string.opt_dbimp_desc);
String nonode = getString(R.string.dialog_disabled_db);
final String strMeatMsg = opzioni.getCustomPref().getInt("numNodi", 0) == 0 ? nonode : String.format(
strMeatFormat, opzioni.getCustomPref().getInt("numNodi", 0),
opzioni.getCustomPref().getInt("numTipici", 0));
dbinfopref.setSummary(strMeatMsg);
String strimortDBPrefMsg = String.format(
strMeFormat, SoulissApp.getCurrentConfig());
imortDBPref.setSummary(strimortDBPrefMsg);
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
try {
String strMeatFormat = getResources().getString(R.string.opt_dbinfo_desc);
String nonode = getString(R.string.dialog_disabled_db);
final String strMeatMsg = opzioni.getCustomPref().getInt("numNodi", 0) == 0 ? nonode : String.format(
strMeatFormat, opzioni.getCustomPref().getInt("numNodi", 0),
opzioni.getCustomPref().getInt("numTipici", 0));
dbinfopref.setSummary(strMeatMsg);
} catch (Exception ree) {
//amen
Log.e(Constants.TAG, ree.getMessage());
}
}
}