package net.reichholf.dreamdroid.tv.fragment;
import android.app.Activity;
import android.os.Bundle;
import android.support.v17.preference.LeanbackPreferenceFragment;
import android.support.v7.preference.EditTextPreference;
import android.support.v7.preference.Preference;
import net.reichholf.dreamdroid.DatabaseHelper;
import net.reichholf.dreamdroid.R;
/**
* Created by Stephan on 29.10.2016.
*/
public class ProfileFragment extends LeanbackPreferenceFragment {
private static String sKeys[] = {
DatabaseHelper.KEY_PROFILE_PROFILE,
DatabaseHelper.KEY_PROFILE_HOST,
DatabaseHelper.KEY_PROFILE_PORT,
DatabaseHelper.KEY_PROFILE_SSL,
DatabaseHelper.KEY_PROFILE_LOGIN,
DatabaseHelper.KEY_PROFILE_USER,
DatabaseHelper.KEY_PROFILE_PASS,
};
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.profile_preferences, rootKey);
for (String key : sKeys) {
Preference pref = findPreference(key);
pref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (DatabaseHelper.KEY_PROFILE_SSL.equals(preference.getKey())) {
EditTextPreference portPref = (EditTextPreference) findPreference(DatabaseHelper.KEY_PROFILE_PORT);
String condition = "80";
String newVal = "443";
if (!(Boolean) newValue) {
condition = "443";
newVal = "80";
}
if (portPref.getText().equals(condition)) {
portPref.setText(newVal);
updateSummary(portPref, newVal);
}
}
updateSummary(preference, newValue);
return true;
}
});
updateSummary(pref, null);
}
getActivity().setResult(Activity.RESULT_OK);
}
protected void updateSummary(Preference pref, Object newValue) {
if (pref instanceof EditTextPreference && !pref.getKey().equals(DatabaseHelper.KEY_PROFILE_PASS)) {
if (newValue == null)
newValue = ((EditTextPreference) pref).getText();
pref.setSummary((String) newValue);
}
}
}