package com.github.andlyticsproject.dialog;
import android.app.DialogFragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.github.andlyticsproject.R;
import java.net.MalformedURLException;
import java.net.URL;
public class AddEditLinkDialog extends DialogFragment {
private EditText urlInput;
private EditText nameInput;
private Long id = null;
private String name = null;
private String url = null;
private OnFinishAddEditLinkDialogListener onFinishAddEditLinkDialogListener;
public interface OnFinishAddEditLinkDialogListener {
void onFinishAddEditLink(String url, String name, Long id);
}
public AddEditLinkDialog() {
setStyle(DialogFragment.STYLE_NO_FRAME, R.style.Dialog);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Bundle arguments = getArguments();
View view = inflater.inflate(R.layout.appinfo_link_addedit_dialog,
container);
if (arguments.containsKey("id")) {
id = Long.valueOf(arguments.getLong("id"));
name = arguments.getString("name");
url = arguments.getString("url");
}
if (id != null) {
TextView title = (TextView) view
.findViewById(R.id.appinfo_link_addedit_dialog_title);
title.setText(R.string.appinfo_link_addedit_dialog_title_edit);
}
urlInput = (EditText) view
.findViewById(R.id.appinfo_link_addedit_dialog_url_input);
nameInput = (EditText) view
.findViewById(R.id.appinfo_link_addedit_dialog_name_input);
if (url != null) {
urlInput.setText(url);
}
if (name != null) {
nameInput.setText(name);
}
view.findViewById(R.id.appinfo_link_addedit_dialog_positive_button)
.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String urlString = urlInput.getText().toString();
String nameString = nameInput.getText().toString();
urlString = urlString.toString();
try {
URL url = new URL(urlString);
urlString = url.toString();
if (nameString.trim().length() == 0) {
nameString = url.getHost();
}
onFinishAddEditLinkDialogListener
.onFinishAddEditLink(urlString, nameString,
id);
dismiss();
} catch (MalformedURLException e) {
Toast.makeText(
AddEditLinkDialog.this.getActivity(),
getString(R.string.appinfo_link_addedit_dialog_not_url),
Toast.LENGTH_LONG).show();
}
}
});
view.findViewById(R.id.appinfo_link_addedit_dialog_negative_button)
.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dismiss();
}
});
return view;
}
public void setOnFinishAddEditLinkDialogListener(
OnFinishAddEditLinkDialogListener listener) {
onFinishAddEditLinkDialogListener = listener;
}
}