From 82016c8b9804096027e210ae6a3833d520832922 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Mon, 21 Feb 2022 20:21:27 +0800 Subject: [PATCH] add trace view --- .../DevaToolsProvider.kt | 6 +- .../hmi/ui/setting/DebugSettingView.kt | 68 +++++++++++-------- .../main/res/layout/view_debug_setting.xml | 10 +++ .../call/devatools/CallerDevaToolsManager.kt | 15 ++++ gradle.properties | 2 +- 5 files changed, 69 insertions(+), 32 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 46d0939611..d5bc026914 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -11,6 +11,7 @@ import com.mogo.eagle.core.data.chain.ChainConstant.Companion.CHAIN_LINK_LOG_WEB import com.mogo.eagle.core.data.chain.ChainLogParam import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.function.api.devatools.IDevaToolsProvider +import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.util.DeviceUtils import com.mogo.eagle.core.utilcode.util.Utils import com.zhidao.loglib.fw.FileWriteManager @@ -51,8 +52,8 @@ class DevaToolsProvider : IDevaToolsProvider { fwBuildMap[CHAIN_LINK_LOG_WEB_SOCKET_DATA] = FwBuild(false, pkgName + CHAIN_LINK_LOG_ADAS_MSG, 500) - traceInfoCache[CHAIN_LINK_LOG_CONNECT_STATUS] = ChainLogParam(true,"IPC连接状态") - traceInfoCache[CHAIN_LINK_LOG_WEB_SOCKET_DATA] = ChainLogParam(false,"IPC长链数据") + traceInfoCache[CHAIN_LINK_LOG_CONNECT_STATUS] = ChainLogParam(true,"ADAS连接状态") + traceInfoCache[CHAIN_LINK_LOG_WEB_SOCKET_DATA] = ChainLogParam(false,"ADAS长链数据") FileWriteManager.getInstance() .init(context, MoGoAiCloudClientConfig.getInstance().sn, pkgName, fwBuildMap) } @@ -66,6 +67,7 @@ class DevaToolsProvider : IDevaToolsProvider { map.forEach { (type, param) -> val fwBuild = this.fwBuildMap[type] fwBuild?.let { + Logger.d(functionName,"param : ${param.des} , record : ${param.record}") it.isRecord = param.record } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index 5b97241065..f1c00ad483 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -11,6 +11,7 @@ import com.mogo.commons.AbsMogoApplication import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.data.autopilot.* +import com.mogo.eagle.core.data.chain.ChainConstant import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.constants.MoGoConfig import com.mogo.eagle.core.data.map.MogoLocation @@ -50,9 +51,9 @@ import java.util.* * 展示 本机、网络、工控机、OBU等状态信息,支持设置IP,等参数进行调试 */ class DebugSettingView @JvmOverloads constructor( - context: Context, - attrs: AttributeSet? = null, - defStyleAttr: Int = 0 + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 ) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoObuStatusListener, IMoGoAutopilotStatusListener, IMoGoAutopilotCarStateListener, IMoGoMapLocationListener, IMoGoAutopilotIdentifyListener, @@ -211,14 +212,14 @@ class DebugSettingView @JvmOverloads constructor( tvObuInfo.text = CallerObuListenerManager.getObuStatusInfoJsonString() tvAutopilotInfo.text = - CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfoJsonString() + CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfoJsonString() // 绘制应用基本信息 drawAppInfo() // 初始化OBU IP信息 val ipAddress = - SharedPrefsMgr.getInstance(context).getString(MoGoConfig.OBU_IP, "192.168.1.199") + SharedPrefsMgr.getInstance(context).getString(MoGoConfig.OBU_IP, "192.168.1.199") etObuIP.setText(ipAddress) etObuIP.text?.let { etObuIP.setSelection(it.length) } @@ -234,7 +235,7 @@ class DebugSettingView @JvmOverloads constructor( // 初始化工控机 IP信息 val autoPilotIpAddress = - SharedPrefsMgr.getInstance(context).getString(MoGoConfig.AUTOPILOT_IP, "192.168.1.102") + SharedPrefsMgr.getInstance(context).getString(MoGoConfig.AUTOPILOT_IP, "192.168.1.102") etAutopilotIP.setText(autoPilotIpAddress) etAutopilotIP.text?.let { etAutopilotIP.setSelection(it.length) } @@ -255,18 +256,18 @@ class DebugSettingView @JvmOverloads constructor( // 初始化 GSP数据源 数据 rgGpsProvider.check( - when (FunctionBuildConfig.gpsProvider) { - 0 -> { - R.id.rbGpsProviderAndroid - } - 1 -> { - R.id.rbGpsProviderRTK - } - 2 -> { - R.id.rbGpsProviderOBU - } - else -> R.id.rbGpsProviderAndroid + when (FunctionBuildConfig.gpsProvider) { + 0 -> { + R.id.rbGpsProviderAndroid } + 1 -> { + R.id.rbGpsProviderRTK + } + 2 -> { + R.id.rbGpsProviderOBU + } + else -> R.id.rbGpsProviderAndroid + } ) rgGpsProvider.setOnCheckedChangeListener { group, checkedId -> when (checkedId) { @@ -350,7 +351,7 @@ class DebugSettingView @JvmOverloads constructor( } tbLogCatch.isChecked = - SharedPrefsMgr.getInstance(context).getBoolean(MoGoConfig.CATCH_LOG, false) + SharedPrefsMgr.getInstance(context).getBoolean(MoGoConfig.CATCH_LOG, false) tbLogCatch.setOnCheckedChangeListener { _, isChecked -> if (isChecked) { CallerDevaToolsManager.startCatchLog() @@ -361,20 +362,20 @@ class DebugSettingView @JvmOverloads constructor( } } CallerDevaToolsListenerManager.registerDevaToolsLogCatchListener(TAG, - object : IMoGoDevaToolsListener { - override fun onLogCatchClose() { - super.onLogCatchClose() - tbLogCatch.isChecked = false - } + object : IMoGoDevaToolsListener { + override fun onLogCatchClose() { + super.onLogCatchClose() + tbLogCatch.isChecked = false + } - override fun onLogCatch(lineLog: String) { - logInfoView?.let { - if (logViewAttach) { - it.onLogCatch(lineLog) - } + override fun onLogCatch(lineLog: String) { + logInfoView?.let { + if (logViewAttach) { + it.onLogCatch(lineLog) } } - }) + } + }) tbLogDebugView.setOnCheckedChangeListener { _, isChecked -> if (isChecked) { logInfoView = LogInfoView() @@ -394,6 +395,15 @@ class DebugSettingView @JvmOverloads constructor( logViewDestroy() } } + tbLogTraceView.setOnCheckedChangeListener { _, isChecked -> + val traceInfoMap = CallerDevaToolsManager.getTraceInfo() + val chainLogParam = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA] + chainLogParam?.let { + it.record = isChecked + traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA] = chainLogParam + CallerDevaToolsManager.refreshTraceInfo(traceInfoMap) + } + } } private fun logViewDestroy() { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml index 5b5182de1b..b6619bc811 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml @@ -413,6 +413,16 @@ android:textOn="关闭日志过滤面板" android:textSize="@dimen/dp_24" /> + + diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt index deadeb95e3..205c168c45 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt @@ -1,6 +1,7 @@ package com.mogo.eagle.core.function.call.devatools import com.alibaba.android.arouter.launcher.ARouter +import com.mogo.eagle.core.data.chain.ChainLogParam import com.mogo.eagle.core.data.constants.MogoServicePaths.PATH_DEVA_TOOLS import com.mogo.eagle.core.function.api.devatools.IDevaToolsProvider @@ -23,4 +24,18 @@ object CallerDevaToolsManager { fun stopCatchLog() { devaToolsProviderApi.stopLogCatch() } + + /** + * 更新链路节点信息,是否写入 + */ + fun refreshTraceInfo(map: HashMap) { + devaToolsProviderApi.refreshTraceInfo(map) + } + + /** + * 获取链路节点信息 + */ + fun getTraceInfo():HashMap{ + return devaToolsProviderApi.getTraceInfo() + } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index d709695d97..ea99f6ee36 100644 --- a/gradle.properties +++ b/gradle.properties @@ -60,7 +60,7 @@ HOOK_LOG_VERSION=1.5.15 SERVICE_CHAIN_VERSION=1.0.52 ################ 外部依赖引用 ################ # loglib -LOGLIB_VERSION=1.1.30 +LOGLIB_VERSION=1.2.3 ######## MogoAiCloudSDK Version ######## # 网络请求 MOGO_NETWORK_VERSION=1.3.19