diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt index cecf71e9e8..9c3e8cf55c 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt @@ -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() { 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() { } 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)