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.
65 lines
1.6 KiB
Kotlin
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)
|
|
}
|
|
} |