[code_opt_3.3.0] sop btn add chain lig

This commit is contained in:
zhongchao
2023-06-14 10:58:39 +08:00
parent 4f02a88234
commit 5798f0342e
8 changed files with 66 additions and 151 deletions

54
app/1
View File

@@ -1,54 +0,0 @@
---------------------------- PROCESS STARTED (10637) for package com.mogo.launcher.f ----------------------------
--------- beginning of system
--------- beginning of main
2023-06-13 19:39:46.747 10637-10637 LogTracing:父节首次创建 addEdge result:true
2023-06-13 19:39:46.747 10637-10637 LogTracing:update chainNode:ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=, nodeAliasCode=CHAIN_CODE_ROMA_CLICK, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=null, thread=main)
2023-06-13 19:39:46.759 10637-10637 LogTracing:子节点:CHAIN_CODE_ROMA_REQUEST , 寻找对应关系 parent :CHAIN_CODE_ROMA_CLICK
2023-06-13 19:39:46.759 10637-10637 LogTracing:找到traceId:logc26836f7-f219-4c93-ac16-59b00507670c , 与父节点建立连接生成spanID:log85cdf360-3b85-47e8-9579-390589f911e6并更新NodeGraph
2023-06-13 19:39:46.761 10637-10637 LogTracing:addEdge new link : logc26836f7-f219-4c93-ac16-59b00507670c , traceName : CHAIN_CODE_ROMA_REQUEST
2023-06-13 19:39:46.761 10637-10637 LogTracing:与父节点建立连接 addEdge result:true
2023-06-13 19:39:46.761 10637-10637 LogTracing:update chainNode:ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_CLICK, nodeAliasCode=CHAIN_CODE_ROMA_REQUEST, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=log85cdf360-3b85-47e8-9579-390589f911e6, thread=main)
2023-06-13 19:39:46.946 10637-10637 LogTracing:子节点:CHAIN_CODE_ROMA_REQUEST_OK , 寻找对应关系 parent :CHAIN_CODE_ROMA_REQUEST
2023-06-13 19:39:46.946 10637-10637 LogTracing:找到traceId:logc26836f7-f219-4c93-ac16-59b00507670c , 与父节点建立连接生成spanID:log38d1125a-212d-4f94-8074-a1462c92958b并更新NodeGraph
2023-06-13 19:39:46.947 10637-10637 LogTracing:addEdge new link : logc26836f7-f219-4c93-ac16-59b00507670c , traceName : CHAIN_CODE_ROMA_REQUEST_OK
2023-06-13 19:39:46.947 10637-10637 LogTracing:与父节点建立连接 addEdge result:true
2023-06-13 19:39:46.947 10637-10637 LogTracing:update chainNode:ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_REQUEST, nodeAliasCode=CHAIN_CODE_ROMA_REQUEST_OK, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=log38d1125a-212d-4f94-8074-a1462c92958b, thread=main)
2023-06-13 19:39:46.947 10637-10637 LogTracing:子节点:CHAIN_CODE_HD_MAP_CALL , 寻找对应关系 parent :CHAIN_CODE_ROMA_REQUEST_OK
2023-06-13 19:39:46.948 10637-10637 LogTracing:找到traceId:logc26836f7-f219-4c93-ac16-59b00507670c , 与父节点建立连接生成spanID:setRomaModea04710e5-095a-4be4-b751-ceff0e50d151并更新NodeGraph
2023-06-13 19:39:46.948 10637-10637 LogTracing:addEdge new link : logc26836f7-f219-4c93-ac16-59b00507670c , traceName : CHAIN_CODE_HD_MAP_CALL
2023-06-13 19:39:46.948 10637-10637 LogTracing:与父节点建立连接 addEdge result:true
2023-06-13 19:39:46.948 10637-10637 LogTracing:update chainNode:ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_REQUEST_OK, nodeAliasCode=CHAIN_CODE_HD_MAP_CALL, methodName=setRomaMode, paramIndexes=[0], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=setRomaModea04710e5-095a-4be4-b751-ceff0e50d151, thread=main)
2023-06-13 19:39:47.103 10637-10637 LogTracing:子节点:CHAIN_CODE_ROMA_MAP_START , 寻找对应关系 parent :CHAIN_CODE_ROMA_REQUEST_OK
2023-06-13 19:39:47.103 10637-10637 LogTracing:找到traceId:logc26836f7-f219-4c93-ac16-59b00507670c , 与父节点建立连接生成spanID:log2a87041e-842a-4124-96a8-63bff6226e7d并更新NodeGraph
2023-06-13 19:39:47.104 10637-10637 LogTracing:addEdge new link : logc26836f7-f219-4c93-ac16-59b00507670c , traceName : CHAIN_CODE_ROMA_MAP_START
2023-06-13 19:39:47.104 10637-10637 LogTracing:与父节点建立连接 addEdge result:true
2023-06-13 19:39:47.104 10637-10637 LogTracing:update chainNode:ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_REQUEST_OK, nodeAliasCode=CHAIN_CODE_ROMA_MAP_START, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=log2a87041e-842a-4124-96a8-63bff6226e7d, thread=main)
2023-06-13 19:39:52.110 10637-10637 LogTracing:子节点:CHAIN_CODE_ROMA_CLOUD_ERROR , 寻找对应关系 parent :CHAIN_CODE_ROMA_MAP_START
2023-06-13 19:39:52.110 10637-10637 LogTracing:找到traceId:logc26836f7-f219-4c93-ac16-59b00507670c , 与父节点建立连接生成spanID:log6af6d082-5f94-48b2-8cb5-f370e65132c1并更新NodeGraph
2023-06-13 19:39:52.112 10637-10637 LogTracing:addEdge new link : logc26836f7-f219-4c93-ac16-59b00507670c , traceName : CHAIN_CODE_ROMA_CLOUD_ERROR
2023-06-13 19:39:52.112 10637-10637 LogTracing:与父节点建立连接 addEdge result:true
2023-06-13 19:39:52.113 10637-10637 LogTracing:update chainNode:ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_MAP_START, nodeAliasCode=CHAIN_CODE_ROMA_CLOUD_ERROR, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=log6af6d082-5f94-48b2-8cb5-f370e65132c1, thread=main)
2023-06-13 19:40:29.129 10637-10637 LogTracing:子节点:CHAIN_CODE_ROMA_MAP_START , 寻找对应关系 parent :CHAIN_CODE_ROMA_REQUEST_OK
2023-06-13 19:40:29.129 10637-10637 LogTracing:找到traceId:logc26836f7-f219-4c93-ac16-59b00507670c , 与父节点建立连接生成spanID:log061e57cb-9111-48b9-ba41-3fe71c978e23并更新NodeGraph
2023-06-13 19:40:29.129 10637-10637 LogTracing:addEdge new link : logc26836f7-f219-4c93-ac16-59b00507670c , traceName : CHAIN_CODE_ROMA_MAP_START
2023-06-13 19:40:29.129 10637-10637 LogTracing:与父节点建立连接 addEdge result:true
2023-06-13 19:40:29.129 10637-10637 LogTracing:update chainNode:ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_REQUEST_OK, nodeAliasCode=CHAIN_CODE_ROMA_MAP_START, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=log061e57cb-9111-48b9-ba41-3fe71c978e23, thread=main)
2023-06-13 19:40:29.130 10637-10637 LogTracing:子节点:CHAIN_CODE_ROMA_MAP_END , 寻找对应关系 parent :CHAIN_CODE_ROMA_MAP_START
2023-06-13 19:40:29.131 10637-10637 LogTracing:找到traceId:logc26836f7-f219-4c93-ac16-59b00507670c , 与父节点建立连接生成spanID:logEndc90412f9-d0d4-4b63-a3b7-eff0a8ad1c06并更新NodeGraph
2023-06-13 19:40:29.131 10637-10637 LogTracing:addEdge new link : logc26836f7-f219-4c93-ac16-59b00507670c , traceName : CHAIN_CODE_ROMA_MAP_END
2023-06-13 19:40:29.131 10637-10637 LogTracing:与父节点建立连接 addEdge result:true
2023-06-13 19:40:29.131 10637-10637 LogTracing:end节点删除linkCode : 3 下的对应traceId节点
2023-06-13 19:40:29.136 10637-10637 LogTracing:getGraphWhenDel linkCode:3 , traceId:logc26836f7-f219-4c93-ac16-59b00507670c , graphMap size : 2 , map : {0=[[ChainNode(linkCode=0, linkChainLog=0, parentNodeAliasCode=, nodeAliasCode=CHAIN_CODE_CLOUD_INIT, methodName=initAiCloudSDK, paramIndexes=[-1], recordDataChange=true, endPoint=false, traceId=initAiCloudSDKafc229d3-28cd-4a9e-bcb3-6e6be9981b91, spanId=null, thread=main), ChainNode(linkCode=0, linkChainLog=0, parentNodeAliasCode=CHAIN_CODE_CLOUD_INIT, nodeAliasCode=CHAIN_CODE_CLOUD_PASSPORT_TOKEN, methodName=onTokenGot, paramIndexes=[0, 1], recordDataChange=true, endPoint=false, traceId=initAiCloudSDKafc229d3-28cd-4a9e-bcb3-6e6be9981b91, spanId=onTokenGote83186a5-55b4-464e-81bf-b238bc70b81c, thread=main), ChainNode(linkCode=0, linkChainLog=0, parentNodeAliasCode=CHAIN_CODE_CLOUD_PASSPORT_TOKEN, nodeAliasCode=CHAIN_CODE_CLOUD_SOCKET_INIT, methodName=init, paramIndexes=[1, 2, 3, 4], recordDataChange=true, endPoint=false, traceId=initAiCloudSDKafc229d3-28cd-4a9e-bcb3-6e6be9981b91, spanId=inita2406ece-a715-41c6-a08e-7a859b22be8d, thread=main)]], 3=[[ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=, nodeAliasCode=CHAIN_CODE_ROMA_CLICK, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=null, thread=main), ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_CLICK, nodeAliasCode=CHAIN_CODE_ROMA_REQUEST, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=log85cdf360-3b85-47e8-9579-390589f911e6, thread=main), ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_REQUEST, nodeAliasCode=CHAIN_CODE_ROMA_REQUEST_OK, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=log38d1125a-212d-4f94-8074-a1462c92958b, thread=main), ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_REQUEST_OK, nodeAliasCode=CHAIN_CODE_HD_MAP_CALL, methodName=setRomaMode, paramIndexes=[0], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=setRomaModea04710e5-095a-4be4-b751-ceff0e50d151, thread=main), ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_REQUEST_OK, nodeAliasCode=CHAIN_CODE_ROMA_MAP_START, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=log2a87041e-842a-4124-96a8-63bff6226e7d, thread=main), ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_MAP_START, nodeAliasCode=CHAIN_CODE_ROMA_CLOUD_ERROR, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=log6af6d082-5f94-48b2-8cb5-f370e65132c1, thread=main), ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_REQUEST_OK, nodeAliasCode=CHAIN_CODE_ROMA_MAP_START, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=log061e57cb-9111-48b9-ba41-3fe71c978e23, thread=main), ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_MAP_START, nodeAliasCode=CHAIN_CODE_ROMA_MAP_END, methodName=logEnd, paramIndexes=[2, 3], recordDataChange=true, endPoint=true, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=logEndc90412f9-d0d4-4b63-a3b7-eff0a8ad1c06, thread=main)]]}
2023-06-13 19:40:29.138 10637-10637 LogTracing:hitValue:Optional[ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=, nodeAliasCode=CHAIN_CODE_ROMA_CLICK, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=null, thread=main)]
2023-06-13 19:40:29.138 10637-10637 LogTracing:removeGraph,输出graphMap: type:3 , branchSize:1 , linkSize:8
2023-06-13 19:40:29.138 10637-10637 LogTracing:update chainNode:ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_MAP_START, nodeAliasCode=CHAIN_CODE_ROMA_MAP_END, methodName=logEnd, paramIndexes=[2, 3], recordDataChange=true, endPoint=true, traceId=logc26836f7-f219-4c93-ac16-59b00507670c, spanId=logEndc90412f9-d0d4-4b63-a3b7-eff0a8ad1c06, thread=main)
2023-06-13 19:40:29.139 10637-10637 LogTracing:子节点:CHAIN_CODE_ROMA_REQUEST , 寻找对应关系 parent :CHAIN_CODE_ROMA_CLICK
2023-06-13 19:40:29.139 10637-10637 LogTracing:中间链路调用,产生分支节点,形成新的父节点 traceId :logda586e9f-ee4c-45c2-8f36-8e898654dcc1
2023-06-13 19:40:29.140 10637-10637 LogTracing:update chainNode:ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_CLICK, nodeAliasCode=CHAIN_CODE_ROMA_REQUEST, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logda586e9f-ee4c-45c2-8f36-8e898654dcc1, spanId=null, thread=main)
2023-06-13 19:40:29.859 10637-10637 LogTracing:子节点:CHAIN_CODE_ROMA_REQUEST_OK , 寻找对应关系 parent :CHAIN_CODE_ROMA_REQUEST
2023-06-13 19:40:29.860 10637-10637 LogTracing:找到traceId:logda586e9f-ee4c-45c2-8f36-8e898654dcc1 , 与父节点建立连接生成spanID:logfd11a0ba-a61c-418b-b610-eae4a6816fc8并更新NodeGraph
2023-06-13 19:40:29.860 10637-10637 LogTracing:addEdge new trace : logda586e9f-ee4c-45c2-8f36-8e898654dcc1 , traceName : CHAIN_CODE_ROMA_REQUEST_OK
2023-06-13 19:40:29.860 10637-10637 LogTracing:与父节点建立连接 addEdge result:true
2023-06-13 19:40:29.860 10637-10637 LogTracing:update chainNode:ChainNode(linkCode=3, linkChainLog=300, parentNodeAliasCode=CHAIN_CODE_ROMA_REQUEST, nodeAliasCode=CHAIN_CODE_ROMA_REQUEST_OK, methodName=log, paramIndexes=[2, 3], recordDataChange=true, endPoint=false, traceId=logda586e9f-ee4c-45c2-8f36-8e898654dcc1, spanId=logfd11a0ba-a61c-418b-b610-eae4a6816fc8, thread=main)

View File

@@ -62,6 +62,8 @@ class TraceManager : IMoGoCloudListener, IMoGoAutopilotCarConfigListener {
FwBuild(false, 30, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_PLANNING_OBJECTS)
fwBuildMap[ChainConstant.CHAIN_TYPE_SOCKET_P_ACTIONS] =
FwBuild(true, -1, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_PLANNING_ACTIONS)
fwBuildMap[ChainConstant.CHAIN_TYPE_HMI] =
FwBuild(true, -1, pkgName + ChainConstant.CHAIN_LINK_LOG_HMI_ACTIONS)
fwBuildMap[ChainConstant.CHAIN_TYPE_NATIVE_LEAK] =
FwBuild(true, -1, pkgName + ChainConstant.CHAIN_LINK_LOG_RECORD_NATIVE_LEAK)
fwBuildMap[ChainConstant.CHAIN_TYPE_ANR] =
@@ -90,12 +92,14 @@ class TraceManager : IMoGoCloudListener, IMoGoAutopilotCarConfigListener {
ChainLogParam(false, "ADAS PLANNING 感知障碍物")
traceInfoCache[ChainConstant.CHAIN_TYPE_SOCKET_P_ACTIONS] =
ChainLogParam(true, "ADAS PLANNING 决策行为")
traceInfoCache[ChainConstant.CHAIN_TYPE_HMI] =
ChainLogParam(true, "人机交互行为")
traceInfoCache[ChainConstant.CHAIN_TYPE_NATIVE_LEAK] =
ChainLogParam(true, "Native Leak Record")
traceInfoCache[ChainConstant.CHAIN_TYPE_ANR] =
ChainLogParam(true, "ANR Record")
traceInfoCache[ChainConstant.CHAIN_TYPE_V2X] =
ChainLogParam(true, "Cloud WebSocket V2N")
ChainLogParam(true, "V2X(V2N/V2I)")
traceInfoCache[ChainConstant.CHAIN_TYPE_HD_MAP] =
ChainLogParam(true, "HD Map Caller")

View File

@@ -17,17 +17,15 @@ import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsFuncConfigList
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.obu.CallerObuApiManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.kotlin.currentPadding
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager
import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog.Companion.hmiAction
import com.mogo.eagle.core.function.hmi.ui.widget.DemoModeView
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import kotlinx.android.synthetic.main.view_sop_setting.view.*
import kotlinx.android.synthetic.main.view_sop_setting.view.tbRouteDynamicEffect
import java.util.*
/**
* SOP设置窗口
@@ -49,16 +47,16 @@ internal class SOPSettingView @JvmOverloads constructor(
private fun initView() {
sopLayout.setOnClickListener { }
//绕障类功能开关
tbObstacleAvoidance.isChecked = FunctionBuildConfig.isDetouring
tbObstacleAvoidance.setOnCheckedChangeListener { _, isChecked ->
hmiAction("绕障类功能开关",isChecked)
CallerAutoPilotControlManager.sendDetouring(isChecked)
FunctionBuildConfig.isDetouring = isChecked
}
tbMarkingObstacles.isChecked = FunctionBuildConfig.isPNCWarning
//危险障碍物颜色标记开关
tbMarkingObstacles.setOnCheckedChangeListener { _, isChecked ->
hmiAction("危险障碍物颜色标记开关",isChecked)
FunctionBuildConfig.isPNCWarning = isChecked
}
@@ -66,61 +64,62 @@ internal class SOPSettingView @JvmOverloads constructor(
tbMarkingObstacles.visibility = View.GONE
}
//引导线动态效果
tbRouteDynamicEffect.isChecked = HmiBuildConfig.isShowRouteStrategy
tbRouteDynamicEffect.setOnCheckedChangeListener { _, isChecked ->
hmiAction("引导线动态效果",isChecked)
HmiBuildConfig.isShowRouteStrategy = isChecked
}
/**
* obu弱势交通控制, 默认开启
*/
//默认开启
tbObuWeaknessTrafficSop.isChecked = HmiBuildConfig.isShowObuWeaknessTrafficView
tbObuWeaknessTrafficSop.setOnCheckedChangeListener { _, isChecked ->
hmiAction("obu弱势交通控制, ",isChecked)
HmiBuildConfig.isShowObuWeaknessTrafficView = isChecked
}
/**
* 云端弱势交通控制 默认关闭
* 默认关闭
*/
tbCloudWeaknessTrafficSop.isChecked = HmiBuildConfig.isShowCloudWeaknessTrafficView
tbCloudWeaknessTrafficSop.setOnCheckedChangeListener { _, isChecked ->
hmiAction("云端弱势交通控制, ",isChecked)
HmiBuildConfig.isShowCloudWeaknessTrafficView = isChecked
}
/**
* V2N场景进PNC
*/
tbV2nPnc.isChecked = FunctionBuildConfig.isV2NPnc
tbV2nPnc.setOnCheckedChangeListener{ compoundButton, isChecked ->
if(!compoundButton.isPressed){
return@setOnCheckedChangeListener
}
hmiAction("V2N场景进PNC, ",isChecked)
CallerAutoPilotControlManager.sendV2nToPncCmd(isChecked)
FunctionBuildConfig.isV2NPnc = isChecked
}
/**
* obu V2V开关默认打开
* 默认打开
*/
tbObuV2vView.isChecked = HmiBuildConfig.isShowObuV2vView
tbObuV2vView.setOnCheckedChangeListener { _, isChecked ->
hmiAction("obuV2V开关, ",isChecked)
HmiBuildConfig.isShowObuV2vView = isChecked
}
/**
* obu V2i开关默认打开
* 默认打开
*/
tbObuV2iView.isChecked = HmiBuildConfig.isShowObuV2iView
tbObuV2iView.setOnCheckedChangeListener { _, isChecked ->
hmiAction("obuV2i开关, ",isChecked)
HmiBuildConfig.isShowObuV2iView = isChecked
}
/**
* obu 闯红灯预警,默认关闭
* 默认关闭
*/
tbRunRedLightSop.isChecked = HmiBuildConfig.isShowRunRedLightView
tbRunRedLightSop.setOnCheckedChangeListener { _, isChecked ->
hmiAction("obu闯红灯预警, ",isChecked)
HmiBuildConfig.isShowRunRedLightView = isChecked
if (HmiBuildConfig.isShowRunRedLightView) {
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_RUNREDLIGHT_WARNING, "1".toByteArray())
@@ -130,10 +129,11 @@ internal class SOPSettingView @JvmOverloads constructor(
}
/**
* obu 绿波通行,默认关闭
* 默认关闭
*/
tbGreenWaveSop.isChecked = HmiBuildConfig.isShowGreenWaveView
tbGreenWaveSop.setOnCheckedChangeListener { _, isChecked ->
hmiAction("obu绿波通行, ",isChecked)
HmiBuildConfig.isShowGreenWaveView = isChecked
if (HmiBuildConfig.isShowGreenWaveView) {
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_GREENWAVE_WARNING, "1".toByteArray())
@@ -142,9 +142,9 @@ internal class SOPSettingView @JvmOverloads constructor(
}
}
//红绿灯标识
tbTrafficLight.isChecked = HmiBuildConfig.isShowTrafficLightView
tbTrafficLight.setOnCheckedChangeListener { _, isChecked ->
hmiAction("红绿灯标识开关, ",isChecked)
if (!isChecked) {
HmiBuildConfig.isShowTrafficLightView = false
} else {
@@ -153,9 +153,9 @@ internal class SOPSettingView @JvmOverloads constructor(
}
}
//限速标识
tbSpeedLimit.isChecked = HmiBuildConfig.isShowLimitingVelocityView
tbSpeedLimit.setOnCheckedChangeListener { _, isChecked ->
hmiAction("限速标识开关, ",isChecked)
if (isChecked) {
HmiBuildConfig.isShowLimitingVelocityView = true
} else {
@@ -166,11 +166,11 @@ internal class SOPSettingView @JvmOverloads constructor(
// 演示模式,上一次勾选的数据
tbDemoMode.isChecked = FunctionBuildConfig.isDemoMode
// 演示模式
tbDemoMode.setOnCheckedChangeListener { compoundButton, _ ->
if(!compoundButton.isPressed){
return@setOnCheckedChangeListener
}
hmiAction("演示模式开关, ",!FunctionBuildConfig.isDemoMode)
FunctionBuildConfig.isDemoMode = !FunctionBuildConfig.isDemoMode
CallerHmiManager.updateStatusBarLeftView(FunctionBuildConfig.isDemoMode, "demoMode", DemoModeView(context))
CallerAutoPilotControlManager.setDemoMode(FunctionBuildConfig.isDemoMode)
@@ -184,14 +184,13 @@ internal class SOPSettingView @JvmOverloads constructor(
tbDemoMode.visibility = View.GONE
}
// 雨天模式,上一次勾选的数据
tbRainMode.isChecked = FunctionBuildConfig.isRainMode
//雨天模式
tbRainMode.setOnCheckedChangeListener { compoundButton, isChecked ->
if(!compoundButton.isPressed){
return@setOnCheckedChangeListener
}
hmiAction("雨天模式开关, ",isChecked)
CallerAutoPilotControlManager.setRainMode(isChecked)
FunctionBuildConfig.isRainMode = isChecked
}
@@ -200,9 +199,9 @@ internal class SOPSettingView @JvmOverloads constructor(
tbRainMode.visibility = View.GONE
}
//OBU控制总开关
tbObu.isChecked = CallerObuApiManager.isConnected()
tbObu.setOnCheckedChangeListener { _, isChecked ->
hmiAction("OBU控制总开关, ",isChecked)
if (isChecked) {
CallerObuApiManager.resetObuIpAddress(MogoObuConst.OBU_DEFAULT_IP)
} else {
@@ -212,14 +211,15 @@ internal class SOPSettingView @JvmOverloads constructor(
}
//是否开启异常上报
tbIPCReport.isChecked = FunctionBuildConfig.isReportWarning
tbIPCReport.setOnCheckedChangeListener { _, isChecked ->
hmiAction("是否开启异常上报, ",isChecked)
FunctionBuildConfig.isReportWarning = isChecked
}
tbNewV2NData.isChecked = FunctionBuildConfig.isNewV2NData
tbNewV2NData.setOnCheckedChangeListener { _, isChecked ->
hmiAction("是否是V2N新链路(云->工控机->App)",isChecked)
FunctionBuildConfig.isNewV2NData = isChecked
}
@@ -232,6 +232,7 @@ internal class SOPSettingView @JvmOverloads constructor(
FunctionBuildConfig.detouringSpeed--
tvSpeed.text = "${FunctionBuildConfig.detouringSpeed} m/s"
}
hmiAction("变道绕障的目标障碍物速度阈值",FunctionBuildConfig.detouringSpeed)
}
ivSpeedAdd.setOnClickListener {
if (FunctionBuildConfig.detouringSpeed >= 7) {
@@ -240,14 +241,17 @@ internal class SOPSettingView @JvmOverloads constructor(
FunctionBuildConfig.detouringSpeed++
tvSpeed.text = "${FunctionBuildConfig.detouringSpeed} m/s"
}
hmiAction("变道绕障的目标障碍物速度阈值",FunctionBuildConfig.detouringSpeed)
}
btnSpeedSet.setOnClickListener {
val isSuccess =
CallerAutoPilotControlManager.sendDetouringSpeed(FunctionBuildConfig.detouringSpeed.toDouble())
if (isSuccess == true) {
ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置成功")
hmiAction("变道绕障的目标障碍物速度阈值设置","成功")
} else {
ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置失败")
hmiAction("变道绕障的目标障碍物速度阈值设置","失败")
}
}

View File

@@ -1,29 +0,0 @@
package com.mogo.eagle.core.function.hmi.ui.utils;
import java.util.regex.Pattern;
/**
* @author Jing
* @description 文件工具类
* @since: 11/2/21
*/
public class FileUtils {
/**
* @param path 文件链接
* @return 视频文件
*/
boolean isVideo(String path) {
String reg = "(mp4|flv|avi|rm|rmvb|wmv|mov)";
Pattern p = Pattern.compile(reg);
boolean boo = p.matcher("url").find();
return boo;
}
boolean isImage(String path) {
String reg = "(jpg|png|jpeg|gif|bmp)";
Pattern p = Pattern.compile(reg);
boolean boo = p.matcher("url").find();
return boo;
}
}

View File

@@ -0,0 +1,20 @@
package com.mogo.eagle.core.function.hmi.ui.utils
import com.mogo.eagle.core.data.deva.chain.ChainConstant
import com.zhjt.service.chain.ChainLog
class HmiActionLog {
companion object {
@ChainLog(
linkChainLog = ChainConstant.CHAIN_TYPE_HMI,
linkCode = ChainConstant.CHAIN_SOURCE_HMI,
nodeAliasCode = ChainConstant.CHAIN_CODE_HMI_ACTIONS,
paramIndexes = [0, 1]
)
fun hmiAction(data: Any, data1: Any) {
}
}
}

View File

@@ -1,27 +0,0 @@
package com.mogo.eagle.core.function.hmi.ui.utils
import android.view.View
/**
* @author congtaowang
* @since 2020/6/28
*
* 描述
*/
fun View.gone() {
if (this.visibility != View.GONE) {
this.visibility = View.GONE
}
}
fun View.visible() {
if (this.visibility != View.VISIBLE) {
this.visibility = View.VISIBLE
}
}
fun View.invisible() {
if (this.visibility != View.INVISIBLE) {
this.visibility = View.INVISIBLE
}
}

View File

@@ -12,6 +12,8 @@ class ChainConstant {
const val CHAIN_SOURCE_INIT = 2
// Map交互
const val CHAIN_SOURCE_MAP = 3
// 人机交互
const val CHAIN_SOURCE_HMI = 4
// Native内存泄漏
const val CHAIN_SOURCE_LEAK = 10
// ANR
@@ -26,20 +28,22 @@ class ChainConstant {
const val CHAIN_TYPE_SOCKET_TRAFFIC_LIGHT = 6
const val CHAIN_TYPE_SOCKET_P_OBJECTS = 7
const val CHAIN_TYPE_SOCKET_P_ACTIONS = 8
const val CHAIN_TYPE_HMI = 9
const val CHAIN_TYPE_NATIVE_LEAK = 100
const val CHAIN_TYPE_V2X = 200
const val CHAIN_TYPE_HD_MAP = 300
const val CHAIN_TYPE_ANR = 400
const val CHAIN_LINK_LOG_INIT = "-eagleInitStatus"
const val CHAIN_LINK_LOG_ADAS_GNSS = "-adasWsGnssInfo"
const val CHAIN_LINK_LOG_ADAS_AUTO = "-adasWsAutoPilot"
const val CHAIN_LINK_LOG_ADAS_DATA_TRACK = "-adasWsDataTrack"
const val CHAIN_LINK_LOG_ADAS_TRAJECTORY = "-adasWsTrajectory"
const val CHAIN_LINK_LOG_ADAS_VEHICLE = "-adasWsVehicle"
const val CHAIN_LINK_LOG_ADAS_TRAFFIC_LIGHT = "-adasWsTrafficLight"
const val CHAIN_LINK_LOG_ADAS_PLANNING_OBJECTS = "-adasWsPlanningObj"
const val CHAIN_LINK_LOG_ADAS_PLANNING_ACTIONS = "-adasWsPlanningActions"
const val CHAIN_LINK_LOG_ADAS_GNSS = "-adasGnssInfo"
const val CHAIN_LINK_LOG_ADAS_AUTO = "-adasAutoPilot"
const val CHAIN_LINK_LOG_ADAS_DATA_TRACK = "-adasDataTrack"
const val CHAIN_LINK_LOG_ADAS_TRAJECTORY = "-adasTrajectory"
const val CHAIN_LINK_LOG_ADAS_VEHICLE = "-adasVehicle"
const val CHAIN_LINK_LOG_ADAS_TRAFFIC_LIGHT = "-UnionTrafficLight"
const val CHAIN_LINK_LOG_ADAS_PLANNING_OBJECTS = "-adasPlanningObj"
const val CHAIN_LINK_LOG_ADAS_PLANNING_ACTIONS = "-adasPlanningActions"
const val CHAIN_LINK_LOG_HMI_ACTIONS = "-eagleHMIActions"
const val CHAIN_LINK_LOG_RECORD_NATIVE_LEAK = "-eagleRecordNativeLeak"
const val CHAIN_LINK_LOG_V2X = "-eagleCloudWSV2X"
const val CHAIN_LINK_LOG_HD_MAP_BIZ = "-eagleHDMapBiz"
@@ -95,6 +99,7 @@ class ChainConstant {
const val CHAIN_CODE_EAGLE_START_AUTOPILOT_RESULT = "CHAIN_CODE_EAGLE_START_AUTOPILOT_RESULT"
const val CHAIN_CODE_HD_MAP_CALL = "CHAIN_CODE_HD_MAP_CALL"
const val CHAIN_CODE_HMI_ACTIONS = "CHAIN_CODE_HMI_ACTIONS"
const val CHAIN_CODE_ROMA_CLICK = "CHAIN_CODE_ROMA_CLICK"
const val CHAIN_CODE_ROMA_CLICK_END = "CHAIN_CODE_ROMA_CLICK_END"

View File

@@ -218,10 +218,6 @@ public class FpgaSocket implements IWebSocket {
}
}
@ChainLog(linkChainLog = -1,
linkCode = CHAIN_SOURCE_ADAS,
nodeAliasCode = CHAIN_CODE_WEB_SOCKET_MESSAGE_JSON,
paramIndexes = {1})
@Override
public void onMessage(@NonNull WebSocket webSocket, @NonNull String text) {
super.onMessage(webSocket, text);
@@ -247,10 +243,6 @@ public class FpgaSocket implements IWebSocket {
}
}
@ChainLog(linkChainLog = -1,
linkCode = CHAIN_SOURCE_ADAS,
nodeAliasCode = CHAIN_CODE_WEB_SOCKET_MESSAGE_BYTE,
paramIndexes = {-1})
@Override
public void onMessage(@NonNull WebSocket webSocket, @NonNull ByteString bytes) {
super.onMessage(webSocket, bytes);