diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/Dialogs.java b/app/src/main/java/com/beemdevelopment/aegis/ui/Dialogs.java index 24118f52..6d111398 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/Dialogs.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/Dialogs.java @@ -233,6 +233,37 @@ public class Dialogs { showTextInputDialog(context, setPasswordMessageId, messageId, R.string.password, listener, dismissListener, true); } + public static void showCheckboxDialog(Context context, @StringRes int titleId, @StringRes int messageId, @StringRes int checkboxMessageId, CheckboxInputListener listener) { + View view = LayoutInflater.from(context).inflate(R.layout.dialog_checkbox, null); + CheckBox checkBox = view.findViewById(R.id.checkbox); + checkBox.setText(checkboxMessageId); + + AlertDialog.Builder builder = new AlertDialog.Builder(context) + .setTitle(titleId) + .setView(view) + .setNegativeButton(R.string.no, (dialog1, which) -> + listener.onCheckboxInputResult(false)) + .setPositiveButton(R.string.yes, (dialog1, which) -> + listener.onCheckboxInputResult(checkBox.isChecked())); + + if (messageId != 0) { + builder.setMessage(messageId); + } + + AlertDialog dialog = builder.create(); + + final AtomicReference