From 7dba6a2e52168ce91489adec4212d05b89d37ef5 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Tue, 1 Mar 2022 17:12:02 +0800 Subject: [PATCH] open chain and add log debug view --- .../adapter/MoGoAdasListenerImpl.java | 96 +++++++++---------- .../autopilot/network/AdasServiceModel.java | 1 - .../DevaToolsProvider.kt | 2 +- .../logcatch/MogoLogCatchManager.kt | 12 ++- .../hmi/ui/setting/DebugSettingView.kt | 34 ++++--- .../main/res/layout/view_debug_setting.xml | 72 ++++++++++---- .../function/main/MainMoGoApplication.java | 1 - gradle.properties | 20 ++-- 8 files changed, 141 insertions(+), 97 deletions(-) diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.java b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.java index 6e36a13d5d..17997e98e6 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.java +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.java @@ -71,12 +71,12 @@ import java.util.List; public class MoGoAdasListenerImpl implements OnAdasListener { private final String TAG = "OnAdasListenerAdapter"; -// @ChainLog(linkCode = CHAIN_LINK_ADAS, -// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, -// endpoint = TracingConstants.Endpoint.PAD, -// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA, -// paramIndexes = {0}, -// clientPkFileName = "sn") + @ChainLog(linkCode = CHAIN_LINK_ADAS, + linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, + endpoint = TracingConstants.Endpoint.PAD, + nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA, + paramIndexes = {0}, + clientPkFileName = "sn") @Override public void onRectData(RectInfo rectInfo) { if (HdMapBuildConfig.isMapLoaded) { @@ -85,12 +85,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener { } } -// @ChainLog(linkCode = CHAIN_LINK_ADAS, -// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, -// endpoint = TracingConstants.Endpoint.PAD, -// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE, -// paramIndexes = {0}, -// clientPkFileName = "sn") + @ChainLog(linkCode = CHAIN_LINK_ADAS, + linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, + endpoint = TracingConstants.Endpoint.PAD, + nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE, + paramIndexes = {0}, + clientPkFileName = "sn") @Override public void onCarStateData(CarStateInfo carStateInfo) { if (HdMapBuildConfig.isMapLoaded) { @@ -170,12 +170,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener { } } -// @ChainLog(linkCode = CHAIN_LINK_ADAS, -// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, -// endpoint = TracingConstants.Endpoint.PAD, -// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_STATUS, -// paramIndexes = {0}, -// clientPkFileName = "sn") + @ChainLog(linkCode = CHAIN_LINK_ADAS, + linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, + endpoint = TracingConstants.Endpoint.PAD, + nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_STATUS, + paramIndexes = {0}, + clientPkFileName = "sn") @Override public void autopilotStatus(AutopilotStatus autopilotStatus) { if (HdMapBuildConfig.isMapLoaded) { @@ -208,12 +208,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener { } } -// @ChainLog(linkCode = CHAIN_LINK_ADAS, -// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, -// endpoint = TracingConstants.Endpoint.PAD, -// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ARRIVE, -// paramIndexes = {0}, -// clientPkFileName = "sn") + @ChainLog(linkCode = CHAIN_LINK_ADAS, + linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, + endpoint = TracingConstants.Endpoint.PAD, + nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ARRIVE, + paramIndexes = {0}, + clientPkFileName = "sn") @Override public void autopilotArrive(AutopilotWayArrive autopilotWayArrive) { if (HdMapBuildConfig.isMapLoaded) { @@ -232,12 +232,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener { } } -// @ChainLog(linkCode = CHAIN_LINK_ADAS, -// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, -// endpoint = TracingConstants.Endpoint.PAD, -// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ROUTE, -// paramIndexes = {0}, -// clientPkFileName = "sn") + @ChainLog(linkCode = CHAIN_LINK_ADAS, + linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, + endpoint = TracingConstants.Endpoint.PAD, + nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ROUTE, + paramIndexes = {0}, + clientPkFileName = "sn") @Override public void onAutopilotRoute(AutopilotRoute route) { if (HdMapBuildConfig.isMapLoaded) { @@ -282,12 +282,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener { CallerAutoPilotStatusListenerManager.INSTANCE.invokeAutopilotSNRequest(); } -// @ChainLog(linkCode = CHAIN_LINK_ADAS, -// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, -// endpoint = TracingConstants.Endpoint.PAD, -// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_GUARDIAN, -// paramIndexes = {0}, -// clientPkFileName = "sn") + @ChainLog(linkCode = CHAIN_LINK_ADAS, + linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, + endpoint = TracingConstants.Endpoint.PAD, + nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_GUARDIAN, + paramIndexes = {0}, + clientPkFileName = "sn") @Override public void onAutopilotGuardian(AutopilotGuardianInfo guardianInfo) { if (HdMapBuildConfig.isMapLoaded) { @@ -296,12 +296,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener { } } -// @ChainLog(linkCode = CHAIN_LINK_ADAS, -// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, -// endpoint = TracingConstants.Endpoint.PAD, -// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_RECORD, -// paramIndexes = {0}, -// clientPkFileName = "sn") + @ChainLog(linkCode = CHAIN_LINK_ADAS, + linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, + endpoint = TracingConstants.Endpoint.PAD, + nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_RECORD, + paramIndexes = {0}, + clientPkFileName = "sn") @Override public void onAutopilotRecord(AutopilotRecordResult result) { if (result != null) { @@ -336,12 +336,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener { } -// @ChainLog(linkCode = CHAIN_LINK_ADAS, -// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, -// endpoint = TracingConstants.Endpoint.PAD, -// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_WARN, -// paramIndexes = {0}, -// clientPkFileName = "sn") + @ChainLog(linkCode = CHAIN_LINK_ADAS, + linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, + endpoint = TracingConstants.Endpoint.PAD, + nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_WARN, + paramIndexes = {0}, + clientPkFileName = "sn") @Override public void onWarnMessage(WarnMessageInfo warnMessageInfo) { final AutopilotWarnMessage warnMessage = AdasObjectConvertUtils.INSTANCE.fromAdasObject(warnMessageInfo); diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/network/AdasServiceModel.java b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/network/AdasServiceModel.java index 009c446151..23b0a1677f 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/network/AdasServiceModel.java +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/network/AdasServiceModel.java @@ -65,7 +65,6 @@ public class AdasServiceModel { @Override public void onSuccess(BaseData o) { super.onSuccess(o); - Logger.d(TAG, "updateDriveStatus success"); } }); } 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 ca79afe0be..16f50d49ed 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 @@ -70,7 +70,7 @@ class DevaToolsProvider : IDevaToolsProvider { private fun initTrace(context: Context) { // 初始化Trace抓取服务 val pkgName = Utils.getApp().packageName - ChainTraceStarter.start(pkgName, DeviceUtils.getMacAddress(), BuildConfig.DEBUG) + ChainTraceStarter.start(pkgName, DeviceUtils.getMacAddress(), false) // Trace过程中进行日志抓取,对日志进行配置 fwBuildMap[CHAIN_LINK_LOG_CONNECT_STATUS] = diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kt index 3e6c352fd1..bb533a117f 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kt @@ -4,16 +4,19 @@ import android.annotation.SuppressLint import android.content.Context import android.os.Handler import android.os.Message +import com.mogo.cloud.passport.MoGoAiCloudClient import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.commons.AbsMogoApplication import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.constants.MoGoConfig +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager import com.mogo.eagle.core.network.NetConfig 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.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.mogo.toast.TipToast +import com.mogo.eagle.core.utilcode.util.LogUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.module.common.MogoApisHandler import com.mogo.service.cloud.socket.IMogoOnMessageListener @@ -142,7 +145,11 @@ object MogoLogCatchManager : IMogoOnMessageListener, Handl * 放开Logger的限制 */ private fun openLoggerLevel() { + LogUtils.getConfig().isLogSwitch = true Logger.init(LogLevel.DEBUG) + MoGoAiCloudClient.getInstance().aiCloudClientConfig.isShowDebugLog = true + CallerAutoPilotManager.setEnableLog(true) + CallerAutoPilotManager.setIsWriteLog(true) } /** @@ -150,8 +157,11 @@ object MogoLogCatchManager : IMogoOnMessageListener, Handl */ private fun closeLoggerLevel() { if (catchingList.isNotEmpty()) { + LogUtils.getConfig().isLogSwitch = false Logger.init(if (DebugConfig.isDebug()) LogLevel.DEBUG else LogLevel.OFF) - NetConfig.instance().isLoggable = DebugConfig.isDebug() + MoGoAiCloudClient.getInstance().aiCloudClientConfig.isShowDebugLog = false + CallerAutoPilotManager.setEnableLog(false) + CallerAutoPilotManager.setIsWriteLog(false) } } 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 7cce805b60..1722ad828f 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 @@ -40,6 +40,7 @@ import com.mogo.eagle.core.utilcode.kotlin.onClick 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.storage.SharedPrefsMgr +import com.mogo.eagle.core.utilcode.mogo.toast.TipToast import com.mogo.eagle.core.utilcode.util.* import com.mogo.map.MogoMap import com.mogo.map.uicontroller.VisualAngleMode @@ -269,7 +270,8 @@ class DebugSettingView @JvmOverloads constructor( // 初始化工控机 IP信息 val autoPilotIpAddress = - SharedPrefsMgr.getInstance(context).getString(MoGoConfig.AUTOPILOT_IP, FunctionBuildConfig.adasConnectIP) + SharedPrefsMgr.getInstance(context) + .getString(MoGoConfig.AUTOPILOT_IP, FunctionBuildConfig.adasConnectIP) etAutopilotIP.setText(autoPilotIpAddress) etAutopilotIP.text?.let { etAutopilotIP.setSelection(it.length) } @@ -338,7 +340,7 @@ class DebugSettingView @JvmOverloads constructor( tbIsDemoMode.isChecked = FunctionBuildConfig.isDemoMode // 演示模式 - tbIsDemoMode.setOnCheckedChangeListener { buttonView, isChecked -> + tbIsDemoMode.setOnCheckedChangeListener { _, isChecked -> CallerAutoPilotManager.setDemoMode(isChecked) FunctionBuildConfig.isDemoMode = isChecked cbIsDrawAutopilotTrajectoryData.isEnabled = !isChecked @@ -354,29 +356,27 @@ class DebugSettingView @JvmOverloads constructor( CallerAutoPilotManager.setControlAutopilotCarAuto(isChecked) } - tbSelfLog.setOnCheckedChangeListener { buttonView, isChecked -> + tbSelfLog.setOnCheckedChangeListener { _, isChecked -> if (isChecked) { LogUtils.getConfig().isLogSwitch = false Logger.init(LogLevel.OFF) - com.elegant.log.simplelog.Logger.init(com.elegant.log.simplelog.LogLevel.OFF) - com.zhidao.account.sdk.utils.Logger.init(false) + MoGoAiCloudClient.getInstance().aiCloudClientConfig.isShowDebugLog = false } else { LogUtils.getConfig().isLogSwitch = true Logger.init(LogLevel.DEBUG) - com.elegant.log.simplelog.Logger.init(com.elegant.log.simplelog.LogLevel.DEBUG) - com.zhidao.account.sdk.utils.Logger.init(true) + MoGoAiCloudClient.getInstance().aiCloudClientConfig.isShowDebugLog = true } } - tbADASLog.setOnCheckedChangeListener { buttonView, isChecked -> + tbADASLog.setOnCheckedChangeListener { _, isChecked -> if (isChecked) { - CallerAutoPilotManager.setEnableLog(false) - CallerAutoPilotManager.setIsWriteLog(false) - } else { CallerAutoPilotManager.setEnableLog(true) CallerAutoPilotManager.setIsWriteLog(true) + } else { + CallerAutoPilotManager.setEnableLog(false) + CallerAutoPilotManager.setIsWriteLog(false) } } - tbControlView.setOnCheckedChangeListener { buttonView, isChecked -> + tbControlView.setOnCheckedChangeListener { _, isChecked -> if (isChecked) { CallerSmpManager.hidePanel() } else { @@ -388,7 +388,13 @@ class DebugSettingView @JvmOverloads constructor( SharedPrefsMgr.getInstance(context).getBoolean(MoGoConfig.CATCH_LOG, false) tbLogCatch.setOnCheckedChangeListener { _, isChecked -> if (isChecked) { - CallerDevaToolsManager.startCatchLog() + val logCatchTime = etLogCatch.text.toString().toInt() + if (logCatchTime > 60) { + tbLogCatch.isChecked = false + TipToast.shortTip("最长抓取时间为60分钟") + return@setOnCheckedChangeListener + } + CallerDevaToolsManager.startCatchLog(logCatchTime) } else { CallerDevaToolsManager.stopCatchLog() } @@ -427,7 +433,7 @@ class DebugSettingView @JvmOverloads constructor( logViewDestroy() } } - tbLogTraceView.setOnCheckedChangeListener { _, isChecked -> + cbAdasChainLog.setOnCheckedChangeListener { _, isChecked -> val traceInfoMap = CallerDevaToolsManager.getTraceInfo() val chainLogParam = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA] chainLogParam?.let { 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 b6619bc811..09142edb15 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 @@ -365,7 +365,7 @@ android:id="@+id/flLogControl" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal" + android:orientation="vertical" app:alignContent="flex_start" app:alignItems="center" app:flexDirection="row" @@ -389,18 +389,8 @@ android:layout_height="wrap_content" android:layout_margin="2dp" android:gravity="center" - android:textOff="关闭「ADAS」Log" - android:textOn="打开「ADAS」Log" - android:textSize="@dimen/dp_24" /> - - - + + + + - + + + + + + + +