package com.lechucksoftware.proxy.proxysettings.ui.dialogs;
import android.app.Activity;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import com.afollestad.materialdialogs.MaterialDialog;
import com.lechucksoftware.proxy.proxysettings.R;
import com.lechucksoftware.proxy.proxysettings.constants.Requests;
import com.lechucksoftware.proxy.proxysettings.ui.activities.PacDetailActivity;
import com.lechucksoftware.proxy.proxysettings.ui.activities.ProxyDetailActivity;
import com.lechucksoftware.proxy.proxysettings.ui.base.BaseActivity;
import com.lechucksoftware.proxy.proxysettings.ui.base.BaseDialogFragment;
public class NoProxiesDefinedAlertDialog extends BaseDialogFragment
{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
final BaseActivity baseActivity = (BaseActivity) getActivity();
MaterialDialog.Builder builder = new MaterialDialog.Builder(getActivity());
builder.title(getActivity().getString(R.string.warning));
builder.content(getActivity().getString(R.string.no_proxy_defined));
builder.negativeText(R.string.cancel);
builder.positiveText(R.string.create_new);
builder.callback(new MaterialDialog.ButtonCallback() {
@Override
public void onPositive(MaterialDialog dialog)
{
new MaterialDialog.Builder(baseActivity)
.title(R.string.create_new_proxy)
.positiveText(R.string.ok)
.items(R.array.proxy_types)
.itemsCallbackSingleChoice(-1, new MaterialDialog.ListCallbackSingleChoice()
{
@Override
public boolean onSelection(MaterialDialog dialog, View view, int which, CharSequence text)
{
switch (which)
{
case 0:
default:
Intent staticProxyIntent = new Intent(baseActivity, ProxyDetailActivity.class);
baseActivity.startActivity(staticProxyIntent);
break;
case 1:
Intent pacProxyIntent = new Intent(baseActivity, PacDetailActivity.class);
baseActivity.startActivity(pacProxyIntent);
break;
}
return true;
}
})
.show();
}
@Override
public void onNeutral(MaterialDialog dialog)
{
dialog.dismiss();
}
});
MaterialDialog alert = builder.build();
return alert;
}
@Override
public void onCancel(DialogInterface dialog)
{
super.onCancel(dialog);
onResult(Activity.RESULT_CANCELED);
}
protected void onResult(final int resultCode)
{
getTargetFragment().onActivityResult(Requests.CREATE_NEW_PROXY, resultCode, null);
}
public static NoProxiesDefinedAlertDialog newInstance()
{
NoProxiesDefinedAlertDialog frag = new NoProxiesDefinedAlertDialog();
return frag;
}
}