[fea]
[sn 变化监听]
This commit is contained in:
yangyakun
2024-12-17 11:57:26 +08:00
parent af4b016f10
commit 374e9d2730
4 changed files with 59 additions and 2 deletions

View File

@@ -30,6 +30,7 @@ import com.mogo.och.bridge.autopilot.location.OchLocationManager
import com.mogo.och.common.module.biz.login.LoginStatusEnum
import com.mogo.och.common.module.biz.login.LoginStatusEnum.Companion.valueOf
import com.mogo.och.common.module.biz.login.LoginStatusManager
import com.mogo.och.common.module.manager.cache.ISpCallback
import com.mogo.och.common.module.manager.cache.OchSPManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.manager.socket.lan.bean.BusCacheKey
@@ -70,6 +71,13 @@ object LoginModel {
}
}
private val snChangeListener = object :ISpCallback{
override fun snChange() {
d(TAG, "sn 发生变化${OchSPManager.getSn()}")
queryCarStatus(false)
}
}
init {
mContext = AbsMogoApplication.getApp()
IntentManager.getInstance()
@@ -89,10 +97,14 @@ object LoginModel {
}
fun setiTaxiLoginCallback(iTaxiLoginCallback: ITaxiLoginCallback?) {
d(TAG,"setiTaxiLoginCallback")
OchSPManager.addListener(TAG,snChangeListener)
LoginModel.iTaxiLoginCallback = iTaxiLoginCallback
}
fun release() {
d(TAG,"release")
OchSPManager.remove(TAG)
iTaxiLoginCallback = null
}

View File

@@ -136,7 +136,6 @@ object OchCommonServiceManager {
context: Context,
callback: OchCommonServiceCallback<DriverStatusQueryRespBean>?
) {
CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态");
val sn =
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
OchSPManager.getSn()
@@ -148,8 +147,10 @@ object OchCommonServiceManager {
return
}
if(FunctionBuildConfig.ochdebug){
CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态 ochdebug模式");
return
}
CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态${sn}");
if (ProjectUtils.isMogo()) {
ochLoginServiceMogo.queryDriverServiceStatusAndLoginStatus(
MoGoAiCloudClientConfig.getInstance().serviceAppId,

View File

@@ -0,0 +1,6 @@
package com.mogo.och.common.module.manager.cache;
public interface ISpCallback {
default void snChange(){}
}

View File

@@ -1,8 +1,32 @@
package com.mogo.och.common.module.manager.cache
import com.mogo.commons.storage.SharedPrefsMgr
import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener
import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON
import com.mogo.och.common.module.utils.CallerBase
import kotlin.properties.Delegates
object OchSPManager {
object OchSPManager : IMoGoCloudListener, CallerBase<ISpCallback>() {
const val TAG = "${M_OCHCOMMON}OchSPManager"
private var ochSN: String by Delegates.observable("") { _, oldValue, newValue ->
if (oldValue != newValue) {
M_LISTENERS.forEach {
it.value.snChange()
}
}
}
private var ochToken:String by Delegates.observable("") { _, oldValue, newValue ->
if (oldValue != newValue) {
}
}
init {
CallerCloudListenerManager.addListener(TAG,this)
}
@JvmStatic
fun getSn(): String? {
@@ -22,4 +46,18 @@ object OchSPManager {
return SharedPrefsMgr.getInstance().getString(key,default)
}
override fun tokenGot(token: String, sn: String) {
CallerLogger.d(TAG,"获取token和sn:$sn")
this.ochSN = sn
this.ochToken = token
}
override fun doSomeAfterAddListener(tag: String, listener: ISpCallback) {
super.doSomeAfterAddListener(tag, listener)
if(ochSN.isNotEmpty()){
M_LISTENERS.forEach {
it.value.snChange()
}
}
}
}