Newer
Older
SmartKitchen / app / src / main / java / com / casic / br / utils / DialogManager.kt
package com.casic.br.utils;

import android.app.Activity
import android.view.WindowManager
import com.pengxh.kt.lite.base.BaseSingleton
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog

class DialogManager private constructor(private val activity: Activity) {

    private lateinit var loadingDialog: QMUITipDialog

    companion object : BaseSingleton<Activity, DialogManager>() {
        override val creator: (Activity) -> DialogManager
            get() = ::DialogManager
    }

    fun showLoadingDialog(message: String) {
        loadingDialog = QMUITipDialog
            .Builder(activity)
            .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
            .setTipWord(message)
            .create()
        if (!activity.isDestroyed) {
            try {
                loadingDialog.show()
            } catch (e: WindowManager.BadTokenException) {
                e.printStackTrace()
            }
        }
    }

    fun dismissLoadingDialog() {
        if (loadingDialog.isShowing) {
            loadingDialog.dismiss()
        }
    }
}