You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.7 KiB
Java
48 lines
1.7 KiB
Java
package com.fox2code.mmm.utils;
|
|
|
|
import android.content.Context;
|
|
import android.content.res.Resources;
|
|
import android.util.TypedValue;
|
|
import android.view.Gravity;
|
|
import android.view.ViewGroup;
|
|
import android.widget.ProgressBar;
|
|
import android.widget.TextView;
|
|
|
|
import androidx.appcompat.app.AlertDialog;
|
|
import androidx.appcompat.widget.LinearLayoutCompat;
|
|
|
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
|
|
|
// ProgressDialog is deprecated because it's an bad UX pattern, but sometimes we have no other choice...
|
|
public enum BudgetProgressDialog {
|
|
;
|
|
|
|
public static AlertDialog build(Context context, String title, String message) {
|
|
Resources r = context.getResources();
|
|
int padding = Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, r.getDisplayMetrics()));
|
|
LinearLayoutCompat v = new LinearLayoutCompat(context);
|
|
v.setOrientation(LinearLayoutCompat.HORIZONTAL);
|
|
ProgressBar pb = new ProgressBar(context);
|
|
v.addView(pb, new LinearLayoutCompat.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, 1));
|
|
TextView t = new TextView(context);
|
|
t.setGravity(Gravity.CENTER);
|
|
v.addView(t, new LinearLayoutCompat.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT, 4));
|
|
v.setPadding(padding, padding, padding, padding);
|
|
|
|
t.setText(message);
|
|
return new MaterialAlertDialogBuilder(context)
|
|
.setTitle(title)
|
|
.setView(v)
|
|
.setCancelable(false)
|
|
.create();
|
|
}
|
|
|
|
public static AlertDialog build(Context context, int title, String message) {
|
|
return build(context, context.getString(title), message);
|
|
}
|
|
|
|
public static AlertDialog build(Context context, int title, int message) {
|
|
return build(context, title, context.getString(message));
|
|
}
|
|
}
|