package net.ggelardi.flucso;
import net.ggelardi.flucso.serv.Commons.PK;
import net.ggelardi.flucso.serv.FFSession;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.DialogPreference;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
public class ProxyDialog extends DialogPreference {
private FFSession session;
private CheckBox mUsed;
private EditText mHost;
private EditText mPort;
public ProxyDialog(Context context, AttributeSet attrs) {
super(context, attrs);
setDialogLayoutResource(R.layout.dialog_proxy);
session = FFSession.getInstance(context);
}
@Override
protected View onCreateDialogView() {
View view = super.onCreateDialogView();
mUsed = (CheckBox) view.findViewById(R.id.chk_proxy_used);
mHost = (EditText) view.findViewById(R.id.txt_proxy_host);
mPort = (EditText) view.findViewById(R.id.txt_proxy_port);
return view;
}
@Override
protected void onBindDialogView(View view) {
super.onBindDialogView(view);
mUsed.setChecked(session.getPrefs().getBoolean(PK.PROXY_USED, false));
mHost.setText(session.getPrefs().getString(PK.PROXY_HOST, ""));
mPort.setText(session.getPrefs().getString(PK.PROXY_PORT, ""));
}
@Override
protected void onDialogClosed(boolean positiveResult) {
super.onDialogClosed(positiveResult);
if (positiveResult) {
String host = mHost.getText().toString();
String port = mPort.getText().toString();
boolean check = !(TextUtils.isEmpty(host) || TextUtils.isEmpty(port));
SharedPreferences.Editor editor = session.getPrefs().edit();
editor.putString(PK.PROXY_HOST, host);
editor.putString(PK.PROXY_PORT, port);
editor.putBoolean(PK.PROXY_USED, mUsed.isChecked() && check);
editor.commit();
if (mUsed.isChecked() && !check)
Toast.makeText(getContext(), R.string.wrong_proxy, Toast.LENGTH_SHORT).show();
}
}
}