package com.mercandalli.android.apps.files.common.dialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.support.annotation.StringRes;
import android.support.v7.app.AlertDialog;
import com.mercandalli.android.apps.files.R;
public class ConfirmationDialog {
public static Dialog newInstance(
final String titleResourceId,
final String content,
@StringRes int positiveId,
@StringRes int negativeId,
@StringRes int neutralId,
Context context,
final DialogCallback callback) {
final AlertDialog.Builder builder = getBaseDialog(
titleResourceId, content, positiveId, context, callback);
builder.setNegativeButton(negativeId, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
callback.onNegativeClick();
}
});
builder.setNeutralButton(neutralId, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
callback.onNeutralClick();
}
});
builder.setTitle(titleResourceId);
return builder.create();
}
public static Dialog newInstance(
String titleResourceId,
String content,
@StringRes int positiveId,
@StringRes int negativeId,
Context context,
final DialogCallback callback) {
return getBaseDialog(
titleResourceId,
content,
positiveId,
context,
callback)
.setNegativeButton(
negativeId,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
callback.onNegativeClick();
}
}).create();
}
public static Dialog newInstance(
String titleResourceId,
String content,
@StringRes int positiveId,
Context context,
final DialogCallback callback) {
return getBaseDialog(
titleResourceId,
content,
positiveId,
context,
callback).create();
}
private static AlertDialog.Builder getBaseDialog(
String titleResourceId,
String content,
@StringRes int positiveId,
Context context,
final DialogCallback callback) {
AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.AlertDialogCustom)
.setPositiveButton(positiveId, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
callback.onPositiveClick();
}
})
.setMessage(content);
builder.setTitle(titleResourceId);
return builder;
}
}