package com.openfarmanager.android.fragments;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.openfarmanager.android.R;
import com.openfarmanager.android.model.FileActionEnum;
import com.openfarmanager.android.utils.ParcelableWrapper;
import java.io.Serializable;
/**
* Dialog with question and available actions : 'Yes'/'No'
*/
public class YesNoDialog extends BaseDialog {
public static DialogFragment newInstance(String string, YesNoDialogListener listener, boolean isErrorDialog) {
YesNoDialog dialog = new YesNoDialog();
Bundle args = new Bundle();
args.putString("message", string);
args.putParcelable("listener", new ParcelableWrapper<YesNoDialogListener>(listener));
args.putBoolean("isErrorDialog", isErrorDialog);
dialog.setArguments(args);
return dialog;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NO_TITLE, R.style.Action_Dialog);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
getDialog().setTitle(getSafeString(R.string.app_name));
View view = inflater.inflate(R.layout.yes_no_dialog, container, false);
if (getArguments().getBoolean("isErrorDialog")) {
view.findViewById(R.id.root_frame).setBackgroundResource(R.color.error_red);
}
view.findViewById(R.id.button_yes).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
YesNoDialogListener listener = getListener();
if (listener != null) {
listener.yes();
}
dismiss();
}
});
view.findViewById(R.id.button_no).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
YesNoDialogListener listener = getListener();
if (listener != null) {
listener.no();
}
dismiss();
}
});
((TextView) view.findViewById(R.id.text)).setText(getArguments().getString("message"));
return view;
}
protected YesNoDialogListener getListener() {
return ((ParcelableWrapper<YesNoDialogListener>) getArguments().getParcelable("listener")).value;
}
public static interface YesNoDialogListener extends Serializable {
void yes();
void no();
}
}