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.
FoxMagiskModuleManager/app/src/main/java/com/fox2code/mmm/utils/BudgetProgressDialog.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));
}
}