339 lines
14 KiB
Java
339 lines
14 KiB
Java
package ch.pizzamaxx.android.helper;
|
|
|
|
import android.content.Context;
|
|
import android.content.DialogInterface;
|
|
import android.content.Intent;
|
|
import android.net.Uri;
|
|
import android.support.annotation.NonNull;
|
|
import android.support.v4.content.ContextCompat;
|
|
import com.afollestad.materialdialogs.DialogAction;
|
|
import com.afollestad.materialdialogs.MaterialDialog;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import ch.pizzamaxx.android.R;
|
|
import ch.pizzamaxx.android.activity.BaseActivity;
|
|
import ch.pizzamaxx.android.activity.LoginActivity;
|
|
import ch.pizzamaxx.android.activity.RegisterActivity;
|
|
|
|
public class DialogHelper {
|
|
|
|
private static MaterialDialog loadingDialog;
|
|
|
|
public static void showDialogWithPositiveButton(Context context, String message) {
|
|
showDialogWithPositiveButton("", context, message);
|
|
}
|
|
|
|
public static void showDialogWithPositiveButton(String title, Context context, String message) {
|
|
|
|
if(title.isEmpty())
|
|
title = context.getString(R.string.app_name);
|
|
|
|
new MaterialDialog.Builder(context)
|
|
.title(title)
|
|
.content(message)
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.positiveText(R.string.ok)
|
|
.positiveColor(ContextCompat.getColor(context, R.color.colorPrimary))
|
|
.onPositive(new MaterialDialog.SingleButtonCallback() {
|
|
@Override
|
|
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
|
//BaseActivity.currentActivity.onBackPressed();
|
|
dialog.dismiss();
|
|
}
|
|
})
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
|
|
}
|
|
|
|
|
|
public static void showAlertDialog(Context context, String content) {
|
|
|
|
if(context == null)
|
|
return;
|
|
|
|
new MaterialDialog.Builder(context)
|
|
.title(R.string.alert)
|
|
.content(content)
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.positiveText(R.string.ok)
|
|
.positiveColor(ContextCompat.getColor(context, R.color.colorPrimary))
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
}
|
|
|
|
public static void showFailedDialog() {
|
|
|
|
new MaterialDialog.Builder(BaseActivity.currentActivity)
|
|
.title(R.string.alert)
|
|
.content(BaseActivity.currentActivity.getString(R.string.failed))
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.positiveText(R.string.ok)
|
|
.positiveColor(ContextCompat.getColor(BaseActivity.currentActivity, R.color.colorPrimary))
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
}
|
|
|
|
public static void showNoNetworkDialog() {
|
|
|
|
new MaterialDialog.Builder(BaseActivity.currentActivity)
|
|
.title(R.string.alert)
|
|
.content(BaseActivity.currentActivity.getString(R.string.no_network_message))
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.positiveText(R.string.ok)
|
|
.positiveColor(ContextCompat.getColor(BaseActivity.currentActivity, R.color.colorPrimary))
|
|
.onPositive(new MaterialDialog.SingleButtonCallback() {
|
|
@Override
|
|
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
|
BaseActivity.currentActivity.finishAffinity();
|
|
}
|
|
})
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
}
|
|
|
|
public static void showLoadingDialog(){
|
|
if(loadingDialog != null && loadingDialog.isShowing())
|
|
return;
|
|
loadingDialog = new MaterialDialog.Builder(BaseActivity.currentActivity)
|
|
.content(BaseActivity.currentActivity.getString(R.string.loading))
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.cancelable(false)
|
|
.progress(true, 0)
|
|
.progressIndeterminateStyle(true)
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
}
|
|
|
|
public static void hideLoadingDialog(){
|
|
if(loadingDialog != null && loadingDialog.isShowing()){
|
|
loadingDialog.dismiss();
|
|
loadingDialog = null;
|
|
}
|
|
}
|
|
|
|
public static void showTwoButtonsDialog(Context context, String message,
|
|
MaterialDialog.SingleButtonCallback positiveButtonCallback,
|
|
MaterialDialog.SingleButtonCallback negativeButtonCallback){
|
|
showTwoButtonsDialog(
|
|
context,
|
|
message,
|
|
R.string.ok,
|
|
positiveButtonCallback,
|
|
R.string.cancel,
|
|
negativeButtonCallback);
|
|
}
|
|
|
|
public static void showTwoButtonsDialog(Context context,
|
|
String message,
|
|
int positiveTextResId,
|
|
MaterialDialog.SingleButtonCallback positiveButtonCallback,
|
|
int negativeTextResId,
|
|
MaterialDialog.SingleButtonCallback negativeButtonCallback){
|
|
new MaterialDialog.Builder(context)
|
|
.title(R.string.alert)
|
|
.content(message)
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.positiveText(positiveTextResId)
|
|
.onPositive(positiveButtonCallback)
|
|
.negativeText(negativeTextResId)
|
|
.onNegative(negativeButtonCallback)
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
}
|
|
|
|
public static void showTwoButtonsDialog(String title,
|
|
String message,
|
|
int positiveTextResId,
|
|
MaterialDialog.SingleButtonCallback positiveButtonCallback,
|
|
int negativeTextResId,
|
|
MaterialDialog.SingleButtonCallback negativeButtonCallback){
|
|
showTwoButtonsDialog(
|
|
title,
|
|
message,
|
|
positiveTextResId,
|
|
positiveButtonCallback,
|
|
negativeTextResId,
|
|
negativeButtonCallback,
|
|
true);
|
|
}
|
|
|
|
public static void showTwoButtonsDialog(String title,
|
|
String message,
|
|
int positiveTextResId,
|
|
MaterialDialog.SingleButtonCallback positiveButtonCallback,
|
|
int negativeTextResId,
|
|
MaterialDialog.SingleButtonCallback negativeButtonCallback,
|
|
boolean isCancelable){
|
|
new MaterialDialog.Builder(BaseActivity.currentActivity)
|
|
.title(title)
|
|
.content(message)
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.positiveText(positiveTextResId)
|
|
.onPositive(positiveButtonCallback)
|
|
.negativeText(negativeTextResId)
|
|
.onNegative(negativeButtonCallback)
|
|
.cancelable(isCancelable)
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
}
|
|
|
|
|
|
public static void showNeedToLoginDialog(int messageResourceId){
|
|
|
|
MaterialDialog dialog = new MaterialDialog.Builder(BaseActivity.currentActivity)
|
|
.title(R.string.alert)
|
|
.content(BaseActivity.currentActivity.getString(messageResourceId))
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.positiveText(R.string.button_login)
|
|
.onPositive(new MaterialDialog.SingleButtonCallback() {
|
|
@Override
|
|
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
|
Intent loginIntent = new Intent(BaseActivity.currentActivity, LoginActivity.class);
|
|
loginIntent.putExtra("showBackIcon", true);
|
|
BaseActivity.currentActivity.startActivity(loginIntent);
|
|
}
|
|
})
|
|
.negativeText(R.string.register_text)
|
|
.onNegative(new MaterialDialog.SingleButtonCallback() {
|
|
@Override
|
|
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
|
BaseActivity.currentActivity.startActivity(new Intent(BaseActivity.currentActivity, RegisterActivity.class));
|
|
}
|
|
})
|
|
.neutralText(R.string.cancel_all_caps)
|
|
//.onNeutral()
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.build();
|
|
|
|
dialog.getActionButton(DialogAction.POSITIVE).setTextSize(12);
|
|
dialog.getActionButton(DialogAction.NEGATIVE).setTextSize(12);
|
|
dialog.getActionButton(DialogAction.NEUTRAL).setTextSize(12);
|
|
|
|
dialog.show();
|
|
}
|
|
|
|
public static void showUpdateAppDialog(Context context) {
|
|
|
|
new MaterialDialog.Builder(context)
|
|
.title(R.string.alert)
|
|
.content(R.string.alert_update_app)
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.positiveText(R.string.update_app)
|
|
.positiveColor(ContextCompat.getColor(context, R.color.colorPrimary))
|
|
.cancelable(false)
|
|
.onPositive(new MaterialDialog.SingleButtonCallback() {
|
|
@Override
|
|
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
|
Intent intent = new Intent(Intent.ACTION_VIEW);
|
|
intent.setData(Uri.parse("market://details?id=ch.pizzamaxx.android"));
|
|
BaseActivity.currentActivity.startActivity(intent);
|
|
BaseActivity.currentActivity.finishAffinity();
|
|
}
|
|
})
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
}
|
|
|
|
public static void showOneButtonDialogWithCallback(String message,
|
|
MaterialDialog.SingleButtonCallback singleButtonCallback){
|
|
new MaterialDialog.Builder(BaseActivity.currentActivity)
|
|
.title(R.string.app_name)
|
|
.content(message)
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.positiveText(R.string.ok)
|
|
.onPositive(singleButtonCallback)
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
}
|
|
|
|
public static void showOneButtonDialogWithDismissListener(String message,
|
|
DialogInterface.OnDismissListener dismissListener){
|
|
new MaterialDialog.Builder(BaseActivity.currentActivity)
|
|
.title(R.string.app_name)
|
|
.content(message)
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.positiveText(R.string.ok)
|
|
.dismissListener(dismissListener)
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
}
|
|
|
|
|
|
/*
|
|
public static void showPasswordResetDialog(final Context context) {
|
|
|
|
new MaterialDialog.Builder(context)
|
|
.title(R.string.app_name)
|
|
.content(R.string.password_reset)
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.positiveText(R.string.ok)
|
|
.positiveColor(ContextCompat.getColor(context, R.color.colorPrimary))
|
|
.cancelable(false)
|
|
.onPositive(new MaterialDialog.SingleButtonCallback() {
|
|
@Override
|
|
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
|
Intent intent = new Intent(context, LoginActivity.class);
|
|
BaseActivity.currentActivity.startActivity(intent);
|
|
BaseActivity.currentActivity.finishAffinity();
|
|
}
|
|
})
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
|
|
}
|
|
|
|
|
|
public static void showProfileUpdatedDialog(MaterialDialog.SingleButtonCallback singleButtonCallback) {
|
|
new MaterialDialog.Builder(BaseActivity.currentActivity)
|
|
.title(R.string.app_name)
|
|
.content(R.string.profile_updated)
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.positiveText(R.string.ok)
|
|
.cancelable(false)
|
|
.onPositive(singleButtonCallback)
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
}
|
|
*/
|
|
|
|
public static void showListDialog(ArrayList<String> itemList, MaterialDialog.ListCallback listCallback){
|
|
new MaterialDialog.Builder(BaseActivity.currentActivity)
|
|
.title(R.string.choose)
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.items(itemList)
|
|
.itemsCallback(listCallback)
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
}
|
|
|
|
public static void showStoreListDialog(ArrayList<String> itemList,
|
|
MaterialDialog.ListCallback listCallback){
|
|
new MaterialDialog.Builder(BaseActivity.currentActivity)
|
|
.title(R.string.choose_store)
|
|
.titleColorRes(R.color.red)
|
|
.contentColorRes(R.color.black)
|
|
.items(itemList)
|
|
.itemsCallback(listCallback)
|
|
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
|
|
.show();
|
|
}
|
|
|
|
|
|
}
|