package de.blau.android.prefs;
import android.os.Bundle;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceDialogFragmentCompat;
import android.view.View;
import android.widget.EditText;
import de.blau.android.R;
/** A dialog preference that allows the user to set username and password in one dialog.
* Changes get saved to the {@link AdvancedPrefDatabase} */
public class LoginDataPreferenceFragment extends PreferenceDialogFragmentCompat {
private EditText userEdit;
private EditText passwordEdit;
public static LoginDataPreferenceFragment newInstance(Preference preference) {
LoginDataPreferenceFragment fragment = new LoginDataPreferenceFragment();
Bundle bundle = new Bundle(1);
bundle.putString("key", preference.getKey());
fragment.setArguments(bundle);
return fragment;
}
@Override
protected void onBindDialogView(View view) {
super.onBindDialogView(view);
userEdit = (EditText)view.findViewById(R.id.loginedit_editUsername);
passwordEdit = (EditText)view.findViewById(R.id.loginedit_editPassword);
AdvancedPrefDatabase db = new AdvancedPrefDatabase(getActivity());
API api = db.getCurrentAPI();
userEdit.setText(api.user);
passwordEdit.setText(api.pass);
}
@Override
public void onDialogClosed(boolean positiveResult) {
if (positiveResult) {
AdvancedPrefDatabase db = new AdvancedPrefDatabase(getActivity());
db.setCurrentAPILogin(userEdit.getText().toString(), passwordEdit.getText().toString());
}
}
}