123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- package epson.print;
- import android.app.AlertDialog;
- import android.app.Dialog;
- import android.content.DialogInterface;
- import android.os.Bundle;
- import android.view.KeyEvent;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Button;
- import androidx.annotation.NonNull;
- import androidx.annotation.Nullable;
- import androidx.appcompat.app.AppCompatDialogFragment;
- import androidx.fragment.app.FragmentActivity;
- public class ThreeButtonDialog extends AppCompatDialogFragment {
- private static final String PARAM_LAYOUT_RESOURCE_ID = "layout_resource_id";
- public interface DialogCallback {
- void callback(int i);
- }
- @NonNull
- public static ThreeButtonDialog newInstance(int i) {
- ThreeButtonDialog threeButtonDialog = new ThreeButtonDialog();
- Bundle bundle = new Bundle();
- bundle.putInt(PARAM_LAYOUT_RESOURCE_ID, i);
- threeButtonDialog.setArguments(bundle);
- return threeButtonDialog;
- }
- public void onCreate(@Nullable Bundle bundle) {
- super.onCreate(bundle);
- setStyle(STYLE_NO_TITLE, 0);
- }
- public Dialog onCreateDialog(Bundle bundle) {
- AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
- LayoutInflater layoutInflater = getActivity().getLayoutInflater();
- Bundle arguments = getArguments();
- int i = arguments != null ? arguments.getInt(PARAM_LAYOUT_RESOURCE_ID) : 0;
- if (i == 0) {
- i = R.layout.dialog_three_button;
- }
- View inflate = layoutInflater.inflate(i, (ViewGroup) null);
- builder.setView(inflate);
- Button button = (Button) inflate.findViewById(R.id.button1);
- if (button != null) {
- button.setOnClickListener(new View.OnClickListener() {
- public void onClick(View view) {
- ThreeButtonDialog.this.execCallbackAndDismiss(1);
- }
- });
- }
- Button button2 = (Button) inflate.findViewById(R.id.button2);
- if (button2 != null) {
- button2.setOnClickListener(new View.OnClickListener() {
- public void onClick(View view) {
- ThreeButtonDialog.this.execCallbackAndDismiss(2);
- }
- });
- }
- Button button3 = (Button) inflate.findViewById(R.id.button3);
- if (button3 != null) {
- button3.setOnClickListener(new View.OnClickListener() {
- public void onClick(View view) {
- ThreeButtonDialog.this.execCallbackAndDismiss(3);
- }
- });
- }
- AlertDialog create = builder.create();
- create.setOnKeyListener(new DialogInterface.OnKeyListener() {
- public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) {
- return i == 84;
- }
- });
- setCancelable(false);
- return create;
- }
- private void execCallbackAndDismiss(int i) {
- DialogCallback dialogCallback = getDialogCallback();
- if (dialogCallback != null) {
- dialogCallback.callback(i);
- dismiss();
- }
- }
- private DialogCallback getDialogCallback() {
- FragmentActivity activity = getActivity();
- if (activity == null) {
- return null;
- }
- try {
- return (DialogCallback) activity;
- } catch (ClassCastException unused) {
- throw new ClassCastException(activity.toString() + " must implement ThreeButtonDialog.DialogCallback");
- }
- }
- }
|