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.
SmsForwarder/app/src/main/java/com/idormy/sms/forwarder/core/http/loader/MiniLoadingDialogLoader.kt

65 lines
1.6 KiB
Kotlin

package com.idormy.sms.forwarder.core.http.loader
import android.content.Context
import com.xuexiang.xhttp2.subsciber.impl.IProgressLoader
import com.xuexiang.xhttp2.subsciber.impl.OnProgressCancelListener
import com.xuexiang.xui.widget.dialog.MiniLoadingDialog
/**
* 默认进度加载
*
* @author xuexiang
* @since 2019-11-18 23:07
*/
class MiniLoadingDialogLoader @JvmOverloads constructor(
context: Context?,
msg: String? = "请求中...",
) : IProgressLoader {
/**
* 进度loading弹窗
*/
private val mDialog: MiniLoadingDialog?
/**
* 进度框取消监听
*/
private var mOnProgressCancelListener: OnProgressCancelListener? = null
override fun isLoading(): Boolean {
return mDialog != null && mDialog.isShowing
}
override fun updateMessage(msg: String) {
mDialog?.updateMessage(msg)
}
override fun showLoading() {
if (mDialog != null && !mDialog.isShowing) {
mDialog.show()
}
}
override fun dismissLoading() {
if (mDialog != null && mDialog.isShowing) {
mDialog.dismiss()
}
}
override fun setCancelable(flag: Boolean) {
mDialog!!.setCancelable(flag)
if (flag) {
mDialog.setOnCancelListener {
if (mOnProgressCancelListener != null) {
mOnProgressCancelListener!!.onCancelProgress()
}
}
}
}
override fun setOnProgressCancelListener(listener: OnProgressCancelListener) {
mOnProgressCancelListener = listener
}
init {
mDialog = MiniLoadingDialog(context, msg)
}
}