fix bug of scene module tag problem

This commit is contained in:
zhongchao
2022-04-01 19:57:16 +08:00
parent 52ea6f98dc
commit a4e9b95d99
14 changed files with 126 additions and 89 deletions

View File

@@ -5,11 +5,13 @@ import com.mogo.eagle.core.data.deva.scene.SceneModule
import com.mogo.eagle.core.data.deva.scene.SceneModuleTAG
import com.mogo.eagle.core.data.deva.scene.SceneTAG
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.Scene.Companion.scene
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ADAS_IMPL
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_MAP
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_NETWORK
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OBU
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OLD_ROUTE
@@ -17,7 +19,6 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_V2X
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneLogCache
//1. SceneLogCache增加模块名称提供场景需要
@@ -31,6 +32,7 @@ class SceneManager {
private const val HMI = "HMI"
private const val OBU = "OBU"
private const val V2X = "V2X"
private const val MAP = "MAP"
private const val ROUTE = "ROUTE"
private const val NET = "NET"
private const val BUS = "BUS"
@@ -49,10 +51,11 @@ class SceneManager {
init {
//过滤所需条件
sceneModuleTAG.map[ADAS] = SceneModule(true, M_ADAS_IMPL)
sceneModuleTAG.map[DEVA] = SceneModule(true, M_DEVA)
sceneModuleTAG.map[HMI] = SceneModule(true, M_HMI)
sceneModuleTAG.map[DEVA] = SceneModule(false, M_DEVA)
sceneModuleTAG.map[HMI] = SceneModule(false, M_HMI)
sceneModuleTAG.map[OBU] = SceneModule(false, M_OBU)
sceneModuleTAG.map[V2X] = SceneModule(true, M_V2X)
sceneModuleTAG.map[V2X] = SceneModule(false, M_V2X)
sceneModuleTAG.map[MAP] = SceneModule(false, M_MAP)
sceneModuleTAG.map[ROUTE] = SceneModule(true, M_OLD_ROUTE)
sceneModuleTAG.map[NET] = SceneModule(true, M_NETWORK)
sceneModuleTAG.map[BUS] = SceneModule(true, M_BUS)
@@ -62,9 +65,34 @@ class SceneManager {
sceneLogTAG.map[TAXI] = SceneTAG(false)
sceneLogTAG.map[BUS] = SceneTAG(false)
//默认未创建的符合scene tag首次初始化logger=true
scene.addChangeListener { change ->
Logger.i("emArrow","scene change : $change")
sceneModuleTAG.map.iterator().forEach { map ->
val sceneModule = map.value
sceneModule.name?.let {
if (change == sceneModule.name) {
sceneModule.log = true
map.setValue(sceneModule)
}
}
}
//call back
CallerDevaToolsListenerManager.invokeDevaToolsModuleLogChanges(sceneModuleTAG.map)
}
}
fun getModuleLogTAG(): MutableMap<String, SceneModule> {
val sceneCache = scene.getSceneCache()
sceneModuleTAG.map.forEach { map ->
map.value.name?.let { module ->
val sceneLogCache = sceneCache[module]
sceneLogCache?.let {
map.value.log = it.logger
}
}
}
return sceneModuleTAG.map
}