DialogUtils.java 2.77 KB

/*
 * Copyright (c) Wondertek Technologies Co., Ltd. 2019-2022. All rights reserved.
 */

package com.wd.common.dialog;

import android.app.Dialog;
import android.content.Context;
import android.view.Window;
import android.view.WindowManager;

import com.airbnb.lottie.LottieAnimationView;
import com.wd.common.progress.PageLoadingView;
import com.wd.fastcoding.base.R;

/**
 * @author yzm
 * @date 2022/6/27
 * @time 9:34.
 */
public class DialogUtils {

    /**
     * 构造方法
     */
    public static Dialog createRequestDialog(final Context context) {
        return createRequestDialog(context, true);
    }

    /**
     * 创建请求弹窗
     */
    public static Dialog createRequestDialog(final Context context, boolean allowCancel) {
        return createRequestDialog(context, allowCancel, "refreshing_common_loading.json");
    }

    /**
     * 创建请求弹窗
     */
    public static Dialog createRequestDialog(final Context context, boolean allowCancel, String interactCode) {

        final Dialog dialog = new Dialog(context, R.style.CustomDialog);
        dialog.setContentView(R.layout.pdialog_layout);
        Window window = dialog.getWindow();
        if (window != null) {
            WindowManager.LayoutParams lp = window.getAttributes();
            int width = context.getResources().getDisplayMetrics().widthPixels;
            final double scaleFlag = 0.5;
            lp.width = (int) (scaleFlag * width);
        }
        dialog.setCanceledOnTouchOutside(allowCancel);
        dialog.setCancelable(allowCancel);

        PageLoadingView loadingView = dialog.findViewById(R.id.channelSmallLoading);
        loadingView.setInteractCode(interactCode);
        loadingView.showLoading();
        return dialog;
    }

    /**
     * 一键登录的loading
     */
//    public static Dialog createOneKeyAuthLoading(final Context context, boolean allowCancel) {
//
//        final Dialog dialog = new Dialog(context, R.style.CustomDialog);
//        dialog.setContentView(R.layout.one_key_auth_login_loading);
//        Window window = dialog.getWindow();
//        WindowManager.LayoutParams lp = window.getAttributes();
//        int width = context.getResources().getDisplayMetrics().widthPixels;
//        int height = context.getResources().getDisplayMetrics().heightPixels;
//        lp.width = width;
//        lp.height = height;
//        dialog.setCanceledOnTouchOutside(false);
//        dialog.setCancelable(allowCancel);
//
//        LottieAnimationView loadingView =  dialog.findViewById(R.id.one_key_loading);
//        loadingView.setAnimation("login_loading.json");
//        loadingView.playAnimation();
//
//        return dialog;
//    }

    public interface DialogOneButtonClickListener {

        /**
         * 确定
         */
        void okButtonClick();
    }

}