This commit is contained in:
zhongchao
2022-05-13 17:55:56 +08:00
parent b8576667cf
commit 6f65b5ccdb
7 changed files with 146 additions and 86 deletions

View File

@@ -249,7 +249,7 @@ class MoGoAutopilotProvider :
}
override fun startAutoPilot(controlParameters: AutopilotControlParameters) {
if (AdasManager.getInstance().ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.CONNECTED) {
if (AdasManager.getInstance().ipcConnectionStatus == IPC_CONNECTION_STATUS.CONNECTED) {
val invokeResult = AdasManager.getInstance().sendAutoPilotModeReq(1, 1, controlParameters.toRouteInfo())
invokeAutoPilotResult(if (invokeResult) "自动驾驶调用成功" else "自动驾驶调用失败, socket 或者 rawPack 可能为空")
} else {
@@ -289,7 +289,7 @@ class MoGoAutopilotProvider :
}
override fun cancelAutoPilot() {
if (AdasManager.getInstance().ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.CONNECTED) {
if (AdasManager.getInstance().ipcConnectionStatus == IPC_CONNECTION_STATUS.CONNECTED) {
AdasManager.getInstance().sendAutoPilotModeReq(0, 1, null)
} else {
CallerLogger.e("$M_ADAS_IMPL$TAG", "车机与工控机链接失败,无法断开自动驾驶")
@@ -374,7 +374,7 @@ class MoGoAutopilotProvider :
}
// 同步给乘客端
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
var byteArray = if (isEnable) byteArrayOf(1) else byteArrayOf(0)
val byteArray = if (isEnable) byteArrayOf(1) else byteArrayOf(0)
if (NSDNettyManager.getInstance().isServerStart) {
NSDNettyManager.getInstance()
.sendMsgToAllClients(
@@ -502,7 +502,7 @@ class MoGoAutopilotProvider :
CallerLogger.d("$M_ADAS_IMPL$TAG", "乘客端连接司机端服务成功! sign is:${sign}")
// 连接成功后,乘客屏没拿到车牌号就像司机屏请求
if (AppConfigInfo.plateNumber.isNullOrEmpty()) {
var byteArray = byteArrayOf(0)
val byteArray = byteArrayOf(0)
NSDNettyManager.getInstance().sendMogoProtocolMsgToServer(
MogoProtocolMsg(REQ_CAR_NUMBER, byteArray.size, byteArray)
) {

View File

@@ -4,6 +4,7 @@ import android.content.Context
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.eagle.core.data.deva.chain.ChainConstant
import com.mogo.eagle.core.data.deva.chain.ChainLogParam
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
import com.mogo.eagle.core.utilcode.util.DeviceUtils
@@ -37,7 +38,7 @@ class TraceManager {
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT] =
FwBuild(true, -1,pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_AUTO)
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED] =
FwBuild(false, 30,pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_DATA_TRACK)
FwBuild(false, 2,pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_DATA_TRACK)
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY] =
FwBuild(false, 30,pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_TRAJECTORY)
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE] =
@@ -56,6 +57,14 @@ class TraceManager {
FileWriteManager.getInstance()
.init(context, MoGoAiCloudClientConfig.getInstance().sn, pkgName, fwBuildMap)
FileWriteManager.getInstance().registerListener { type ->
val param = traceInfoCache[type]
param?.let {
it.record = false
traceInfoCache[type] = it
}
CallerDevaToolsListenerManager.invokeDevaToolsFwThreadClose()
}
}
fun setTraceLogEnable(enable:Boolean){

View File

@@ -53,9 +53,11 @@ import com.mogo.eagle.core.function.hmi.ui.tools.DockerRebootDialog
import com.mogo.eagle.core.function.hmi.ui.upgrade.UpgradeListAdapter
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.LogLevel
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast
import com.mogo.eagle.core.utilcode.util.*
@@ -63,6 +65,7 @@ import com.mogo.map.MogoMap
import com.mogo.map.uicontroller.VisualAngleMode
import com.mogo.map.uicontroller.VisualAngleMode.*
import com.zhidao.easysocket.utils.L
import com.zhjt.mogo_core_function_devatools.trace.TraceManager
import kotlinx.android.synthetic.main.view_debug_setting.view.*
import mogo.telematics.pad.MessagePad
import mogo_msg.MogoReportMsg
@@ -83,8 +86,8 @@ class DebugSettingView @JvmOverloads constructor(
) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoObuStatusListener,
IMoGoAutopilotStatusListener, IMoGoAutopilotCarStateListener,
IMoGoMapLocationListener, IMoGoAutopilotIdentifyListener,
IMoGoAutopilotPlanningListener, IMoGoAutopilotCarConfigListener
,IMoGoAutopilotVehicleStateListener{
IMoGoAutopilotPlanningListener, IMoGoAutopilotCarConfigListener,
IMoGoAutopilotVehicleStateListener {
private val TAG = "DebugSettingView"
@@ -94,7 +97,7 @@ class DebugSettingView @JvmOverloads constructor(
private var mAutoPilotStatusInfo: AutopilotStatusInfo? = null
private var mGnssInfo: MessagePad.GnssInfo? = null
private var accelerationFloatWindow: AccelerationFloatWindow?=null
private var accelerationFloatWindow: AccelerationFloatWindow? = null
private var accelerationList = arrayListOf<AccelerationEntity>()
private var accelerationIsShow: Boolean = false //实时加速度面板是否展示
private var accelerationThresholdNum: Double = 0.0
@@ -134,9 +137,9 @@ class DebugSettingView @JvmOverloads constructor(
private var onlineSelected: Boolean = true
private var qaSelected: Boolean = true
private var upgradeListAdapter: UpgradeListAdapter?=null
private var upgradeListAdapter: UpgradeListAdapter? = null
private val upgradeVersionList by lazy{
private val upgradeVersionList by lazy {
ArrayList<UpgradeVersionEntity>()
}
@@ -182,7 +185,7 @@ class DebugSettingView @JvmOverloads constructor(
// 添加 工控机基础信息回调 监听
CallerAutopilotCarConfigListenerManager.addListener(TAG, this)
//添加 车辆底盘数据回调 监听
CallerAutopilotVehicleStateListenerManager.addListener(TAG,this)
CallerAutopilotVehicleStateListenerManager.addListener(TAG, this)
if (logInfoView != null) {
logInfoView!!.onEnterForeground()
}
@@ -292,11 +295,11 @@ class DebugSettingView @JvmOverloads constructor(
* 鹰眼参数配置
*/
tbEagleEyeController.setOnCheckedChangeListener { buttonView, isChecked ->
if(isChecked){
if (isChecked) {
buttonView.setCompoundDrawables(null, null, iconDown, null)
//展示参数配置
eagleEyeControllerLayout.visibility = View.VISIBLE
}else{
} else {
buttonView.setCompoundDrawables(null, null, iconRight, null)
//隐藏参数配置
eagleEyeControllerLayout.visibility = View.GONE
@@ -338,7 +341,7 @@ class DebugSettingView @JvmOverloads constructor(
* 车辆状态控制中心
*/
tbVehicleStateController.setOnCheckedChangeListener { buttonView, isChecked ->
if(isChecked){
if (isChecked) {
buttonView.setCompoundDrawables(null, null, iconDown, null)
//展示车辆状态中心
vehicleStateLayout.visibility = View.VISIBLE
@@ -398,7 +401,7 @@ class DebugSettingView @JvmOverloads constructor(
* 应用包管理中心
*/
btnApkCenter.setOnCheckedChangeListener { buttonView, isChecked ->
if(isChecked){
if (isChecked) {
buttonView.setCompoundDrawables(null, null, iconDown, null)
//展示应用包管理中心
apkCenterLayout.visibility = View.VISIBLE
@@ -598,7 +601,7 @@ class DebugSettingView @JvmOverloads constructor(
}
//初始化切换自车按钮文本Bus版本默认显示切换自车为出租车
if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)){
if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
tbChangeCurrentCarIcon.isChecked = true
}
@@ -615,27 +618,28 @@ class DebugSettingView @JvmOverloads constructor(
/**
* 设置鹰眼本地参数配置监听
*/
private fun setEagleEyeConfigListener(){
private fun setEagleEyeConfigListener() {
//初始化刹车加速度阈值信息
val brakeThreshold = SharedPrefsMgr.getInstance(context)
.getFloat(MoGoConfig.BRAKE_ACCELERATION_THRESHOLD,-2.5F)
.getFloat(MoGoConfig.BRAKE_ACCELERATION_THRESHOLD, -2.5F)
etInputBrakeThreshold.setText(brakeThreshold.toString())
etInputBrakeThreshold.text?.let { etInputBrakeThreshold.setSelection(brakeThreshold.toString().length) }
//设置刹车加速度阈值信息
btnBrakeThreshold.setOnClickListener {
val thresholdStr = etInputBrakeThreshold.text.toString()
if(thresholdStr.isEmpty()){
if (thresholdStr.isEmpty()) {
ToastUtils.showShort("请输入正确的判定刹车加速度阈值")
}else{
try{
} else {
try {
val thresholdStrFloat = thresholdStr.toFloat()
if(thresholdStrFloat<0){
SharedPrefsMgr.getInstance(context).putFloat(MoGoConfig.BRAKE_ACCELERATION_THRESHOLD,thresholdStrFloat)
if (thresholdStrFloat < 0) {
SharedPrefsMgr.getInstance(context)
.putFloat(MoGoConfig.BRAKE_ACCELERATION_THRESHOLD, thresholdStrFloat)
ToastUtils.showShort("刹车阈值设置成功")
}else{
} else {
ToastUtils.showShort("刹车阈值加速度值应小于0")
}
}catch (e: Exception){
} catch (e: Exception) {
ToastUtils.showShort("判定刹车加速度阈值格式设置不正确")
}
}
@@ -731,7 +735,7 @@ class DebugSettingView @JvmOverloads constructor(
CallerAutoPilotManager.recordPackage()
}
}
}
/**
@@ -848,13 +852,13 @@ class DebugSettingView @JvmOverloads constructor(
* 实时加速度面板控制
*/
tbOpenAcceleration.setOnCheckedChangeListener { _, isChecked ->
if(isChecked){
if (isChecked) {
//打开实时加速度面板
accelerationFloatWindow = context?.let { AccelerationFloatWindow(it as Activity) }
accelerationFloatWindow?.showFloatWindow()
etThreshold.visibility = View.VISIBLE
btnThresholdDefine.visibility = View.VISIBLE
}else{
} else {
//关闭实时加速度面板
accelerationFloatWindow?.hideFloatWindow()
etThreshold.visibility = View.GONE
@@ -864,9 +868,9 @@ class DebugSettingView @JvmOverloads constructor(
}
btnThresholdDefine.setOnClickListener {
try{
try {
accelerationThresholdNum = etThreshold.text.toString().toDouble()
}catch(e:java.lang.Exception){
} catch (e: java.lang.Exception) {
ToastUtils.showShort("请输入正确的阈值")
}
}
@@ -1070,6 +1074,10 @@ class DebugSettingView @JvmOverloads constructor(
}
}
override fun fwThreadClose() {
refreshTraceInfo()
}
override fun moduleLogChanged(moduleTag: MutableMap<String, SceneModule>) {
//模块日志 tag 发生变化,需要更新对应 UI
setLogCheckedChangeListener()
@@ -1079,12 +1087,16 @@ class DebugSettingView @JvmOverloads constructor(
//版本信息更新
urls?.let {
upgradeVersionList.clear()
it.iterator().forEach {map ->
val name = if(map.key.contains("{")) map.key.replace("{","") else map.key
val url = if(map.value.contains("}")) map.value.replace("}","") else map.value
upgradeVersionList.add(UpgradeVersionEntity(name.trim(),url))
it.iterator().forEach { map ->
val name =
if (map.key.contains("{")) map.key.replace("{", "") else map.key
val url = if (map.value.contains("}")) map.value.replace(
"}",
""
) else map.value
upgradeVersionList.add(UpgradeVersionEntity(name.trim(), url))
}
upgradeVersionList.sortByDescending { upgradeVersionEntity ->upgradeVersionEntity.name }
upgradeVersionList.sortByDescending { upgradeVersionEntity -> upgradeVersionEntity.name }
upgradeListAdapter?.setDada(dataFilter(upgradeVersionList))
upgradeListAdapter?.notifyDataSetChanged()
}
@@ -1114,23 +1126,8 @@ class DebugSettingView @JvmOverloads constructor(
}
}
val traceInfoMap = CallerDevaToolsManager.getTraceInfo()
val autopilot = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT]
autopilot?.let{
cbAdasAutoPilot.isChecked = it.record
}
val dataTrack = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED]
dataTrack?.let {
cbAdasDataTrack.isChecked = it.record
}
val trajectory = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY]
trajectory?.let {
cbAdasTrajectory.isChecked = it.record
}
val vehicle = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE]
vehicle?.let {
cbAdasVehicle.isChecked = it.record
}
// 更新链路信息
refreshTraceInfo()
/**
* ADAS自动驾驶链路
@@ -1185,24 +1182,46 @@ class DebugSettingView @JvmOverloads constructor(
}
}
private fun refreshTraceInfo() {
val traceInfoMap = CallerDevaToolsManager.getTraceInfo()
val autopilot = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT]
autopilot?.let {
cbAdasAutoPilot.isChecked = it.record
}
val dataTrack = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED]
dataTrack?.let {
cbAdasDataTrack.isChecked = it.record
}
val trajectory = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY]
trajectory?.let {
cbAdasTrajectory.isChecked = it.record
}
val vehicle = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE]
vehicle?.let {
cbAdasVehicle.isChecked = it.record
}
}
/**
* APK包管理
*/
private fun setApkCenterListener(){
val layoutManager: LinearLayoutManager = object : LinearLayoutManager(context,
VERTICAL, false) {
private fun setApkCenterListener() {
val layoutManager: LinearLayoutManager = object : LinearLayoutManager(
context,
VERTICAL, false
) {
override fun canScrollVertically(): Boolean {
// 直接禁止垂直滑动
return false
}
}
rvUpgradeVersionList.layoutManager =layoutManager
rvUpgradeVersionList.layoutManager = layoutManager
upgradeListAdapter = UpgradeListAdapter(context,upgradeVersionList,
object:UpgradeListAdapter.ClickListener{
override fun downloadApk(name: String,url: String) {
upgradeListAdapter = UpgradeListAdapter(context, upgradeVersionList,
object : UpgradeListAdapter.ClickListener {
override fun downloadApk(name: String, url: String) {
//下载包
CallerDevaToolsManager.downLoadPackage(name,url)
CallerDevaToolsManager.downLoadPackage(name, url)
ToastUtils.showLong("开始下载APK,稍后可前往downloads文件夹查看")
}
@@ -1212,9 +1231,9 @@ class DebugSettingView @JvmOverloads constructor(
ivApkSearch.setOnClickListener {
val searchStr = etApkSearch.text.toString()
if(searchStr.isEmpty()){
if (searchStr.isEmpty()) {
ToastUtils.showShort("请输入正确的搜索关键字")
}else{
} else {
CallerDevaToolsManager.getUpgradeVersionUrls(searchStr)
}
@@ -1242,11 +1261,11 @@ class DebugSettingView @JvmOverloads constructor(
private fun dataFilter(list: ArrayList<UpgradeVersionEntity>): ArrayList<UpgradeVersionEntity> {
val tempList = ArrayList<UpgradeVersionEntity>()
list.let {
it.iterator().forEach { entity->
if(onlineSelected && entity.name.contains("online")){
it.iterator().forEach { entity ->
if (onlineSelected && entity.name.contains("online")) {
tempList.add(entity)
}
if(qaSelected && entity.name.contains("qa")){
if (qaSelected && entity.name.contains("qa")) {
tempList.add(entity)
}
}
@@ -1307,7 +1326,8 @@ class DebugSettingView @JvmOverloads constructor(
AppConfigInfo.isConnectedNetty = CallerTelematicManager.getClientConnStatus()
AppConfigInfo.serverIp = CallerTelematicManager.getServerIp()
}
else -> {}
else -> {
}
}
/**
@@ -1325,9 +1345,9 @@ class DebugSettingView @JvmOverloads constructor(
tvAppVersionName.text = "鹰眼版本名:${AppUtils.getAppVersionName()}"
tvAutopilotProtocolVersionInfo.text =
"Autopilot协议版本${CallerAutoPilotManager.getProtocolVersion()}"
if(AppConfigInfo.protocolVersionNumber==0){
tvIpcProtocolVersionInfo.text="工控机协议版本:未知"
}else{
if (AppConfigInfo.protocolVersionNumber == 0) {
tvIpcProtocolVersionInfo.text = "工控机协议版本:未知"
} else {
tvIpcProtocolVersionInfo.text = "工控机协议版本:${AppConfigInfo.protocolVersionNumber}"
}
tvMoGoMapVersion.text = "HD-Map版本${MogoMap.getInstance().mogoMap.mapVersion}"
@@ -1389,9 +1409,9 @@ class DebugSettingView @JvmOverloads constructor(
"<font color='blue'>正常"
} else {
"<font color='red'>异常 原因:${
if(AppConfigInfo.connectStatusDescribe.isNullOrEmpty()){
if (AppConfigInfo.connectStatusDescribe.isNullOrEmpty()) {
"主动断开连接"
}else{
} else {
AppConfigInfo.connectStatusDescribe
}
}"
@@ -1506,17 +1526,35 @@ class DebugSettingView @JvmOverloads constructor(
override fun onAutopilotCarStateData(gnssInfo: MessagePad.GnssInfo?) {
mGnssInfo = gnssInfo
//实时加速度列表
ThreadUtils.runOnUiThread{
if(accelerationIsShow){
if(accelerationList.size > 9){
ThreadUtils.runOnUiThread {
if (accelerationIsShow) {
if (accelerationList.size > 9) {
accelerationList.removeLast()
}
gnssInfo?.acceleration?.let {
if(accelerationList.isEmpty()){
accelerationList.add(AccelerationEntity(TimeUtils.millis2String(System.currentTimeMillis(),TimeUtils.getHourMinSecondFormat()),it.toString()))
if (accelerationList.isEmpty()) {
accelerationList.add(
AccelerationEntity(
TimeUtils.millis2String(
System.currentTimeMillis(),
TimeUtils.getHourMinSecondFormat()
), it.toString()
)
)
}
if(abs(it.minus(accelerationList.first().acceleration.toDouble())) > abs(accelerationThresholdNum)){
accelerationList.add(0, AccelerationEntity(TimeUtils.millis2String(System.currentTimeMillis(),TimeUtils.getHourMinSecondFormat()),it.toString()))
if (abs(it.minus(accelerationList.first().acceleration.toDouble())) > abs(
accelerationThresholdNum
)
) {
accelerationList.add(
0,
AccelerationEntity(
TimeUtils.millis2String(
System.currentTimeMillis(),
TimeUtils.getHourMinSecondFormat()
), it.toString()
)
)
}
accelerationFloatWindow?.refreshData(accelerationList)
@@ -1575,13 +1613,15 @@ class DebugSettingView @JvmOverloads constructor(
tvReportCode.text = "code:${it.code}"
var resultStr = "result:"
for (result in it.resultList) {
resultStr = "$resultStr$result${CallerAutoPilotManager.getReportResultDesc(result)} "
resultStr =
"$resultStr$result${CallerAutoPilotManager.getReportResultDesc(result)} "
}
tvReportResult.text = resultStr
var actionStr = "action:"
for (action in it.actionsList) {
actionStr = "$actionStr$action${CallerAutoPilotManager.getReportActionDesc(action)} "
actionStr =
"$actionStr$action${CallerAutoPilotManager.getReportActionDesc(action)} "
}
tvReportActions.text = actionStr
@@ -1621,7 +1661,7 @@ class DebugSettingView @JvmOverloads constructor(
* 时延显示
*/
override fun onObuV2iDelayTime(delayTime: Long) {
ThreadUtils.runOnUiThread{
ThreadUtils.runOnUiThread {
tvObuDelay.text = "obu时延" + delayTime.toString()
}
}
@@ -1647,7 +1687,7 @@ class DebugSettingView @JvmOverloads constructor(
* @param steering 方向盘转向角
*/
override fun onAutopilotSteeringData(steering: Float) {
ThreadUtils.runOnUiThread{
ThreadUtils.runOnUiThread {
tvSteeringInfo.text = "方向盘转向角:${steering}"
}
}
@@ -1657,7 +1697,7 @@ class DebugSettingView @JvmOverloads constructor(
* @param gear 档位
*/
override fun onAutopilotGearData(gear: Chassis.GearPosition) {
ThreadUtils.runOnUiThread{
ThreadUtils.runOnUiThread {
tvGearInfo.text = "挂挡档位:${gear}"
}
}
@@ -1676,7 +1716,7 @@ class DebugSettingView @JvmOverloads constructor(
this.clickListener = clickListener
}
interface ClickListener{
interface ClickListener {
fun showReportListWindow(show: Boolean)
}

View File

@@ -19,7 +19,6 @@ class ChainConstant {
const val CHAIN_LINK_LOG_ADAS_TRAJECTORY = "-adasWsTrajectory"
const val CHAIN_LINK_LOG_ADAS_VEHICLE = "-adasWsVehicle"
const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA = "PAD_ADAS_MESSAGE_AUTOPILOT_RECT_DATA"
const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE = "PAD_ADAS_MESSAGE_AUTOPILOT_CAR_STATE"
const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_STATUS = "PAD_ADAS_MESSAGE_AUTOPILOT_STATUS"

View File

@@ -27,6 +27,11 @@ interface IMoGoDevaToolsListener {
*/
fun onLogCatch(lineLog: String)
/**
* fw线程写入倒计时结束
*/
fun fwThreadClose()
/**
* 模块TAG更新回调
*/

View File

@@ -72,6 +72,13 @@ object CallerDevaToolsListenerManager {
}
}
fun invokeDevaToolsFwThreadClose() {
M_DEVA_TOOLS_LISTENER.forEach {
val listener = it.value
listener.fwThreadClose()
}
}
fun invokeDevaToolsModuleLogChanges(moduleTag: MutableMap<String, SceneModule>) {
M_DEVA_TOOLS_LISTENER.forEach {
val listener = it.value

View File

@@ -60,7 +60,7 @@ HOOK_LOG_VERSION=1.6.1
SERVICE_CHAIN_VERSION=1.1.0
################ 外部依赖引用 ################
# loglib
LOGLIB_VERSION=1.2.44
LOGLIB_VERSION=1.2.46
######## MogoAiCloudSDK Version ########
# 网络请求LOGLIB_VERSION
MOGO_NETWORK_VERSION=1.3.55