[定时轮训登录状态]
This commit is contained in:
yangyakun
2024-04-29 09:56:24 +08:00
parent 227a4d501e
commit 3ff45c69a2

View File

@@ -4,17 +4,23 @@ package com.mogo.och.common.module.biz.login
import androidx.fragment.app.Fragment
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.och.common.module.constant.OchCommonConst
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.manager.loop.LoopInfo
import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType
import com.mogo.och.common.module.manager.socket.lan.bean.EnvType
import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType
import com.mogo.och.common.module.manager.socket.lan.bean.VehicleType
import com.mogo.och.common.module.utils.CallerBase
import io.reactivex.schedulers.Schedulers
object LoginStatusManager : CallerBase<ILoginCallback>() {
private var loginService: LoginService? =
ARouter.getInstance().build(OchCommonConst.BIZ_LOGIN).navigation() as LoginService
private var TAG = "LoginStatusManager"
private var TAGLoopStatus = "LoginStatusManagerLoop"
@JvmStatic
fun getFragment():Fragment {
loginService?.let {
@@ -113,6 +119,11 @@ object LoginStatusManager : CallerBase<ILoginCallback>() {
}
fun invokeLoginStatusChange(currentStatus: LoginStatusEnum) {
if(currentStatus==LoginStatusEnum.Login){
BizLoopManager.setLoopFunction(TAGLoopStatus, LoopInfo(60*10, ::queryLoginStatusByNet, scheduler = Schedulers.io()))
}else{
BizLoopManager.removeLoopFunction(TAGLoopStatus)
}
M_LISTENERS.forEach {
val listener = it.value
listener.onStatusChange(currentStatus)