Merge branch 'dev_MogoAP_eagle-220_211207_8.0.17_merge' into dev_robotaxi-p-app_254_220228_2.5.4

This commit is contained in:
donghongyu
2022-03-01 18:47:20 +08:00
12 changed files with 246 additions and 178 deletions

View File

@@ -27,7 +27,7 @@ project.android.productFlavors {
buildConfigField 'int', 'GPS_PROVIDER', "1" buildConfigField 'int', 'GPS_PROVIDER', "1"
// 构建的应用身份类型,司机|乘客 // 构建的应用身份类型,司机|乘客
buildConfigField 'int', 'APP_IDENTITY_MODE', "0x02" buildConfigField 'int', 'APP_IDENTITY_MODE', "0x00"
// 连接的工控机IP地址 // 连接的工控机IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.104\"" buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.104\""
// 构建的是否是演示(美化)模式 // 构建的是否是演示(美化)模式

View File

@@ -4,7 +4,6 @@ import android.Manifest.permission
import android.content.Context import android.content.Context
import androidx.annotation.RequiresPermission import androidx.annotation.RequiresPermission
import com.alibaba.android.arouter.facade.annotation.Route import com.alibaba.android.arouter.facade.annotation.Route
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.eagle.core.data.autopilot.AutopilotControlCmdParameter import com.mogo.eagle.core.data.autopilot.AutopilotControlCmdParameter
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.FunctionBuildConfig
@@ -17,6 +16,7 @@ import com.mogo.eagle.core.function.autopilot.adapter.MoGoAdasMsgConnectStatusLi
import com.mogo.eagle.core.function.autopilot.adapter.MoGoHandAdasMsgManager import com.mogo.eagle.core.function.autopilot.adapter.MoGoHandAdasMsgManager
import com.mogo.eagle.core.function.autopilot.server.AsyncDataToAutopilotServer import com.mogo.eagle.core.function.autopilot.server.AsyncDataToAutopilotServer
import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.Logger 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.storage.SharedPrefsMgr
import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.GsonUtils
@@ -36,7 +36,7 @@ import java.util.concurrent.TimeUnit
*/ */
@Route(path = MogoServicePaths.PATH_AUTO_PILOT) @Route(path = MogoServicePaths.PATH_AUTO_PILOT)
class MoGoAutopilotProvider : class MoGoAutopilotProvider :
IMoGoAutopilotProvider, IMoGoMapDataCollectProvider.OnMapCollectCmdListener { IMoGoAutopilotProvider, IMoGoMapDataCollectProvider.OnMapCollectCmdListener {
private val TAG = "MoGoAutoPilotProvider" private val TAG = "MoGoAutoPilotProvider"
private var mContext: Context? = null private var mContext: Context? = null
@@ -51,19 +51,17 @@ class MoGoAutopilotProvider :
CupidLogUtils.setEnableLog(false) CupidLogUtils.setEnableLog(false)
CupidLogUtils.setIsWriteLog(false) CupidLogUtils.setIsWriteLog(false)
// TODO 临时方案根据不同的身份标识连接不同的工控机IP // TODO 临时方案根据不同的身份标识连接不同的工控机IP
when (FunctionBuildConfig.appIdentityMode) { if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {// 司机
0x00 -> // 司机 // 注册地图采集功能
{ CallerMapDataCollectorManager.registerOnMapCollectTaskListener(this)
// 注册地图采集功能 // "192.168.1.102"
CallerMapDataCollectorManager.registerOnMapCollectTaskListener(this) val options = AdasOptions.Builder()
// "192.168.1.102" .setIpcConnectionMode(AdasOptions.IPC_CONNECTION_MODE.ASSIGN)
val options = AdasOptions.Builder() .setIpcAssignIP(FunctionBuildConfig.adasConnectIP)
.setIpcConnectionMode(AdasOptions.IPC_CONNECTION_MODE.FIXATION)
.setIpcFixationIP(AdasManager.getInstance().getIPCFixationIPList(mContext))
.setClient(false) .setClient(false)
.build() .build()
AdasManager.getInstance().create(context, options) AdasManager.getInstance().create(context, options)
// NSDNettyManager.getInstance().startNSDNettyServer(context, object : NettyServerListener<MogoProtocolMsg> { // NSDNettyManager.getInstance().startNSDNettyServer(context, object : NettyServerListener<MogoProtocolMsg> {
// override fun onMessageResponseServer(msg: MogoProtocolMsg?, channel: Channel?) { // override fun onMessageResponseServer(msg: MogoProtocolMsg?, channel: Channel?) {
// Logger.d(TAG, "Receive client data is:${msg?.toString()}") // Logger.d(TAG, "Receive client data is:${msg?.toString()}")
@@ -89,18 +87,17 @@ class MoGoAutopilotProvider :
// Logger.d(TAG, "onChannelDisConnect") // Logger.d(TAG, "onChannelDisConnect")
// } // }
// }) // })
} } else {// 乘客
0x01 -> // 乘客 // 乘客端默认接收绘制全局路径+引导线
{ //FunctionBuildConfig.isDemoMode = true
// 乘客端默认接收绘制全局路径+引导线 //FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true
//FunctionBuildConfig.isDemoMode = true // "192.168.1.103"
//FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true val options = AdasOptions.Builder()
// "192.168.1.102" .setIpcConnectionMode(AdasOptions.IPC_CONNECTION_MODE.ASSIGN)
val options = AdasOptions .setIpcAssignIP(FunctionBuildConfig.adasConnectIP)
.Builder()
.setClient(true) .setClient(true)
.build() .build()
AdasManager.getInstance().create(context, options) AdasManager.getInstance().create(context, options)
// NSDNettyManager.getInstance().searchAndConnectServer(context, MoGoAiCloudClientConfig.getInstance().sn, object : NettyClientListener<MogoProtocolMsg> { // NSDNettyManager.getInstance().searchAndConnectServer(context, MoGoAiCloudClientConfig.getInstance().sn, object : NettyClientListener<MogoProtocolMsg> {
// override fun onMessageResponseClient(msg: MogoProtocolMsg?, sign: String?) { // override fun onMessageResponseClient(msg: MogoProtocolMsg?, sign: String?) {
// Logger.d(TAG, "收到司机端的数据!") // Logger.d(TAG, "收到司机端的数据!")
@@ -121,22 +118,11 @@ class MoGoAutopilotProvider :
// } // }
// } // }
// }) // })
}
//
else -> // 默认采用UDP寻址方式
{
val options = AdasOptions.Builder()
.setIpcConnectionMode(AdasOptions.IPC_CONNECTION_MODE.FIXATION)
.setIpcFixationIP(AdasManager.getInstance().getIPCFixationIPList(mContext))
.setClient(false)
.build()
AdasManager.getInstance().create(context, options)
}
} }
//////////////////////////////////注意先后顺序AdasManager.getInstance().create后才可以设置监听///////////////////////////////////////////// //////////////////////////////////注意先后顺序AdasManager.getInstance().create后才可以设置监听/////////////////////////////////////////////
// 监听 adas 连接状态 // 监听 adas 连接状态
AdasManager.getInstance() AdasManager.getInstance()
.setOnAdasConnectStatusListener(MoGoAdasMsgConnectStatusListenerImpl()) .setOnAdasConnectStatusListener(MoGoAdasMsgConnectStatusListenerImpl())
// 监听ADAS-SDK获取到的工控机数据(乘客也需注册) // 监听ADAS-SDK获取到的工控机数据(乘客也需注册)
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl()) AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
// // 司机端监听 // // 司机端监听
@@ -240,7 +226,7 @@ class MoGoAutopilotProvider :
override fun recordPackage(): Boolean { override fun recordPackage(): Boolean {
return AdasManager.getInstance() return AdasManager.getInstance()
.recordPackage(1, (System.currentTimeMillis() / 1000).toInt()) .recordPackage(1, (System.currentTimeMillis() / 1000).toInt())
} }
override fun recordPackage(type: Int, id: Int): Boolean { override fun recordPackage(type: Int, id: Int): Boolean {

View File

@@ -71,12 +71,12 @@ import java.util.List;
public class MoGoAdasListenerImpl implements OnAdasListener { public class MoGoAdasListenerImpl implements OnAdasListener {
private final String TAG = "OnAdasListenerAdapter"; private final String TAG = "OnAdasListenerAdapter";
// @ChainLog(linkCode = CHAIN_LINK_ADAS, @ChainLog(linkCode = CHAIN_LINK_ADAS,
// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
// endpoint = TracingConstants.Endpoint.PAD, endpoint = TracingConstants.Endpoint.PAD,
// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA, nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA,
// paramIndexes = {0}, paramIndexes = {0},
// clientPkFileName = "sn") clientPkFileName = "sn")
@Override @Override
public void onRectData(RectInfo rectInfo) { public void onRectData(RectInfo rectInfo) {
if (HdMapBuildConfig.isMapLoaded) { if (HdMapBuildConfig.isMapLoaded) {
@@ -85,12 +85,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener {
} }
} }
// @ChainLog(linkCode = CHAIN_LINK_ADAS, @ChainLog(linkCode = CHAIN_LINK_ADAS,
// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
// endpoint = TracingConstants.Endpoint.PAD, endpoint = TracingConstants.Endpoint.PAD,
// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE, nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE,
// paramIndexes = {0}, paramIndexes = {0},
// clientPkFileName = "sn") clientPkFileName = "sn")
@Override @Override
public void onCarStateData(CarStateInfo carStateInfo) { public void onCarStateData(CarStateInfo carStateInfo) {
if (HdMapBuildConfig.isMapLoaded) { if (HdMapBuildConfig.isMapLoaded) {
@@ -170,12 +170,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener {
} }
} }
// @ChainLog(linkCode = CHAIN_LINK_ADAS, @ChainLog(linkCode = CHAIN_LINK_ADAS,
// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
// endpoint = TracingConstants.Endpoint.PAD, endpoint = TracingConstants.Endpoint.PAD,
// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_STATUS, nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_STATUS,
// paramIndexes = {0}, paramIndexes = {0},
// clientPkFileName = "sn") clientPkFileName = "sn")
@Override @Override
public void autopilotStatus(AutopilotStatus autopilotStatus) { public void autopilotStatus(AutopilotStatus autopilotStatus) {
if (HdMapBuildConfig.isMapLoaded) { if (HdMapBuildConfig.isMapLoaded) {
@@ -208,12 +208,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener {
} }
} }
// @ChainLog(linkCode = CHAIN_LINK_ADAS, @ChainLog(linkCode = CHAIN_LINK_ADAS,
// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
// endpoint = TracingConstants.Endpoint.PAD, endpoint = TracingConstants.Endpoint.PAD,
// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ARRIVE, nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ARRIVE,
// paramIndexes = {0}, paramIndexes = {0},
// clientPkFileName = "sn") clientPkFileName = "sn")
@Override @Override
public void autopilotArrive(AutopilotWayArrive autopilotWayArrive) { public void autopilotArrive(AutopilotWayArrive autopilotWayArrive) {
if (HdMapBuildConfig.isMapLoaded) { if (HdMapBuildConfig.isMapLoaded) {
@@ -232,12 +232,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener {
} }
} }
// @ChainLog(linkCode = CHAIN_LINK_ADAS, @ChainLog(linkCode = CHAIN_LINK_ADAS,
// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
// endpoint = TracingConstants.Endpoint.PAD, endpoint = TracingConstants.Endpoint.PAD,
// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ROUTE, nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ROUTE,
// paramIndexes = {0}, paramIndexes = {0},
// clientPkFileName = "sn") clientPkFileName = "sn")
@Override @Override
public void onAutopilotRoute(AutopilotRoute route) { public void onAutopilotRoute(AutopilotRoute route) {
if (HdMapBuildConfig.isMapLoaded) { if (HdMapBuildConfig.isMapLoaded) {
@@ -282,12 +282,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener {
CallerAutoPilotStatusListenerManager.INSTANCE.invokeAutopilotSNRequest(); CallerAutoPilotStatusListenerManager.INSTANCE.invokeAutopilotSNRequest();
} }
// @ChainLog(linkCode = CHAIN_LINK_ADAS, @ChainLog(linkCode = CHAIN_LINK_ADAS,
// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
// endpoint = TracingConstants.Endpoint.PAD, endpoint = TracingConstants.Endpoint.PAD,
// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_GUARDIAN, nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_GUARDIAN,
// paramIndexes = {0}, paramIndexes = {0},
// clientPkFileName = "sn") clientPkFileName = "sn")
@Override @Override
public void onAutopilotGuardian(AutopilotGuardianInfo guardianInfo) { public void onAutopilotGuardian(AutopilotGuardianInfo guardianInfo) {
if (HdMapBuildConfig.isMapLoaded) { if (HdMapBuildConfig.isMapLoaded) {
@@ -296,12 +296,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener {
} }
} }
// @ChainLog(linkCode = CHAIN_LINK_ADAS, @ChainLog(linkCode = CHAIN_LINK_ADAS,
// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
// endpoint = TracingConstants.Endpoint.PAD, endpoint = TracingConstants.Endpoint.PAD,
// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_RECORD, nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_RECORD,
// paramIndexes = {0}, paramIndexes = {0},
// clientPkFileName = "sn") clientPkFileName = "sn")
@Override @Override
public void onAutopilotRecord(AutopilotRecordResult result) { public void onAutopilotRecord(AutopilotRecordResult result) {
if (result != null) { if (result != null) {
@@ -336,12 +336,12 @@ public class MoGoAdasListenerImpl implements OnAdasListener {
} }
// @ChainLog(linkCode = CHAIN_LINK_ADAS, @ChainLog(linkCode = CHAIN_LINK_ADAS,
// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA, linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
// endpoint = TracingConstants.Endpoint.PAD, endpoint = TracingConstants.Endpoint.PAD,
// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_WARN, nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_WARN,
// paramIndexes = {0}, paramIndexes = {0},
// clientPkFileName = "sn") clientPkFileName = "sn")
@Override @Override
public void onWarnMessage(WarnMessageInfo warnMessageInfo) { public void onWarnMessage(WarnMessageInfo warnMessageInfo) {
final AutopilotWarnMessage warnMessage = AdasObjectConvertUtils.INSTANCE.fromAdasObject(warnMessageInfo); final AutopilotWarnMessage warnMessage = AdasObjectConvertUtils.INSTANCE.fromAdasObject(warnMessageInfo);

View File

@@ -65,7 +65,6 @@ public class AdasServiceModel {
@Override @Override
public void onSuccess(BaseData o) { public void onSuccess(BaseData o) {
super.onSuccess(o); super.onSuccess(o);
Logger.d(TAG, "updateDriveStatus success");
} }
}); });
} }

View File

@@ -70,7 +70,7 @@ class DevaToolsProvider : IDevaToolsProvider {
private fun initTrace(context: Context) { private fun initTrace(context: Context) {
// 初始化Trace抓取服务 // 初始化Trace抓取服务
val pkgName = Utils.getApp().packageName val pkgName = Utils.getApp().packageName
ChainTraceStarter.start(pkgName, DeviceUtils.getMacAddress(), BuildConfig.DEBUG) ChainTraceStarter.start(pkgName, DeviceUtils.getMacAddress(), false)
// Trace过程中进行日志抓取对日志进行配置 // Trace过程中进行日志抓取对日志进行配置
fwBuildMap[CHAIN_LINK_LOG_CONNECT_STATUS] = fwBuildMap[CHAIN_LINK_LOG_CONNECT_STATUS] =

View File

@@ -4,16 +4,19 @@ import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.os.Handler import android.os.Handler
import android.os.Message import android.os.Message
import com.mogo.cloud.passport.MoGoAiCloudClient
import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.commons.AbsMogoApplication import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.debug.DebugConfig import com.mogo.commons.debug.DebugConfig
import com.mogo.eagle.core.data.constants.MoGoConfig 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.function.call.devatools.CallerDevaToolsListenerManager
import com.mogo.eagle.core.network.NetConfig import com.mogo.eagle.core.network.NetConfig
import com.mogo.eagle.core.utilcode.mogo.logger.LogLevel 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.Logger
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast 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.eagle.core.utilcode.util.ThreadUtils
import com.mogo.module.common.MogoApisHandler import com.mogo.module.common.MogoApisHandler
import com.mogo.service.cloud.socket.IMogoOnMessageListener import com.mogo.service.cloud.socket.IMogoOnMessageListener
@@ -142,7 +145,11 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
* 放开Logger的限制 * 放开Logger的限制
*/ */
private fun openLoggerLevel() { private fun openLoggerLevel() {
LogUtils.getConfig().isLogSwitch = true
Logger.init(LogLevel.DEBUG) Logger.init(LogLevel.DEBUG)
MoGoAiCloudClient.getInstance().aiCloudClientConfig.isShowDebugLog = true
CallerAutoPilotManager.setEnableLog(true)
CallerAutoPilotManager.setIsWriteLog(true)
} }
/** /**
@@ -150,8 +157,11 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
*/ */
private fun closeLoggerLevel() { private fun closeLoggerLevel() {
if (catchingList.isNotEmpty()) { if (catchingList.isNotEmpty()) {
LogUtils.getConfig().isLogSwitch = false
Logger.init(if (DebugConfig.isDebug()) LogLevel.DEBUG else LogLevel.OFF) 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)
} }
} }

View File

@@ -14,6 +14,7 @@ import com.mogo.eagle.core.data.autopilot.*
import com.mogo.eagle.core.data.chain.ChainConstant import com.mogo.eagle.core.data.chain.ChainConstant
import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.constants.MoGoConfig import com.mogo.eagle.core.data.constants.MoGoConfig
import com.mogo.eagle.core.data.enums.TrafficTypeEnum
import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.data.obu.ObuStatusInfo import com.mogo.eagle.core.data.obu.ObuStatusInfo
import com.mogo.eagle.core.data.traffic.TrafficData import com.mogo.eagle.core.data.traffic.TrafficData
@@ -40,15 +41,11 @@ 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.LogLevel
import com.mogo.eagle.core.utilcode.mogo.logger.Logger 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.storage.SharedPrefsMgr
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast
import com.mogo.eagle.core.utilcode.util.* import com.mogo.eagle.core.utilcode.util.*
import com.mogo.map.MogoMap import com.mogo.map.MogoMap
import com.mogo.map.uicontroller.VisualAngleMode import com.mogo.map.uicontroller.VisualAngleMode
import com.mogo.map.uicontroller.VisualAngleMode.MAP_STYLE_VR_ANGLE_300 import com.mogo.map.uicontroller.VisualAngleMode.*
import com.mogo.map.uicontroller.VisualAngleMode.MAP_STYLE_VR_ANGLE_CROSS
import com.mogo.map.uicontroller.VisualAngleMode.MAP_STYLE_VR_ANGLE_TOP
import com.mogo.map.uicontroller.VisualAngleMode.MODE_CLOSE_SIGHT
import com.mogo.map.uicontroller.VisualAngleMode.MODE_LONG_SIGHT
import com.mogo.map.uicontroller.VisualAngleMode.MODE_MEDIUM_SIGHT
import com.mogo.module.common.MogoApisHandler import com.mogo.module.common.MogoApisHandler
import kotlinx.android.synthetic.main.view_debug_setting.view.* import kotlinx.android.synthetic.main.view_debug_setting.view.*
import java.util.* import java.util.*
@@ -60,13 +57,13 @@ import java.util.*
* 展示 本机、网络、工控机、OBU等状态信息支持设置IP等参数进行调试 * 展示 本机、网络、工控机、OBU等状态信息支持设置IP等参数进行调试
*/ */
class DebugSettingView @JvmOverloads constructor( class DebugSettingView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyleAttr: Int = 0 defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoObuStatusListener, ) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoObuStatusListener,
IMoGoAutopilotStatusListener, IMoGoAutopilotCarStateListener, IMoGoAutopilotStatusListener, IMoGoAutopilotCarStateListener,
IMoGoMapLocationListener, IMoGoAutopilotIdentifyListener, IMoGoMapLocationListener, IMoGoAutopilotIdentifyListener,
IMoGoAutopilotPlanningListener { IMoGoAutopilotPlanningListener {
private val TAG = "DebugSettingView" private val TAG = "DebugSettingView"
@@ -76,9 +73,12 @@ class DebugSettingView @JvmOverloads constructor(
private var mAutoPilotStatusInfo: AutopilotStatusInfo? = null private var mAutoPilotStatusInfo: AutopilotStatusInfo? = null
private var mAutoPilotCarStateInfo: AutopilotCarStateInfo? = null private var mAutoPilotCarStateInfo: AutopilotCarStateInfo? = null
// 感知识别数据个数 // 感知识别「已知类型」数据个数
private var mIdentifyDataSize = 0 private var mIdentifyDataSize = 0
// 感知识别「未知类型」数据个数
private var mUnknownIdentifyDataSize = 0
// 引导线点个数 // 引导线点个数
private var mTrajectoryInfoSize = 0 private var mTrajectoryInfoSize = 0
@@ -246,14 +246,14 @@ class DebugSettingView @JvmOverloads constructor(
tvObuInfo.text = CallerObuListenerManager.getObuStatusInfoJsonString() tvObuInfo.text = CallerObuListenerManager.getObuStatusInfoJsonString()
tvAutopilotInfo.text = tvAutopilotInfo.text =
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfoJsonString() CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfoJsonString()
// 绘制应用基本信息 // 绘制应用基本信息
drawAppInfo() drawAppInfo()
// 初始化OBU IP信息 // 初始化OBU IP信息
val ipAddress = 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.setText(ipAddress)
etObuIP.text?.let { etObuIP.setSelection(it.length) } etObuIP.text?.let { etObuIP.setSelection(it.length) }
@@ -269,7 +269,8 @@ class DebugSettingView @JvmOverloads constructor(
// 初始化工控机 IP信息 // 初始化工控机 IP信息
val autoPilotIpAddress = val autoPilotIpAddress =
SharedPrefsMgr.getInstance(context).getString(MoGoConfig.AUTOPILOT_IP, FunctionBuildConfig.adasConnectIP) SharedPrefsMgr.getInstance(context)
.getString(MoGoConfig.AUTOPILOT_IP, FunctionBuildConfig.adasConnectIP)
etAutopilotIP.setText(autoPilotIpAddress) etAutopilotIP.setText(autoPilotIpAddress)
etAutopilotIP.text?.let { etAutopilotIP.setSelection(it.length) } etAutopilotIP.text?.let { etAutopilotIP.setSelection(it.length) }
@@ -290,18 +291,18 @@ class DebugSettingView @JvmOverloads constructor(
// 初始化 GSP数据源 数据 // 初始化 GSP数据源 数据
rgGpsProvider.check( rgGpsProvider.check(
when (FunctionBuildConfig.gpsProvider) { when (FunctionBuildConfig.gpsProvider) {
0 -> { 0 -> {
R.id.rbGpsProviderAndroid R.id.rbGpsProviderAndroid
}
1 -> {
R.id.rbGpsProviderRTK
}
2 -> {
R.id.rbGpsProviderOBU
}
else -> R.id.rbGpsProviderAndroid
} }
1 -> {
R.id.rbGpsProviderRTK
}
2 -> {
R.id.rbGpsProviderOBU
}
else -> R.id.rbGpsProviderAndroid
}
) )
rgGpsProvider.setOnCheckedChangeListener { group, checkedId -> rgGpsProvider.setOnCheckedChangeListener { group, checkedId ->
when (checkedId) { when (checkedId) {
@@ -323,6 +324,12 @@ class DebugSettingView @JvmOverloads constructor(
FunctionBuildConfig.isDrawIdentifyData = isChecked FunctionBuildConfig.isDrawIdentifyData = isChecked
} }
// 初始化 ADAS感知数据是否绘制 选择情况
tbIsDrawUnknownIdentifyData.isChecked = FunctionBuildConfig.isDrawUnknownIdentifyData
tbIsDrawUnknownIdentifyData.setOnCheckedChangeListener { buttonView, isChecked ->
FunctionBuildConfig.isDrawUnknownIdentifyData = isChecked
}
// 初始化 OBU感知数据是否绘制 选择情况 // 初始化 OBU感知数据是否绘制 选择情况
tbIsDrawOBUIdentifyData.isChecked = FunctionBuildConfig.isDrawObuIdentifyData tbIsDrawOBUIdentifyData.isChecked = FunctionBuildConfig.isDrawObuIdentifyData
tbIsDrawOBUIdentifyData.setOnCheckedChangeListener { buttonView, isChecked -> tbIsDrawOBUIdentifyData.setOnCheckedChangeListener { buttonView, isChecked ->
@@ -338,7 +345,7 @@ class DebugSettingView @JvmOverloads constructor(
tbIsDemoMode.isChecked = FunctionBuildConfig.isDemoMode tbIsDemoMode.isChecked = FunctionBuildConfig.isDemoMode
// 演示模式 // 演示模式
tbIsDemoMode.setOnCheckedChangeListener { buttonView, isChecked -> tbIsDemoMode.setOnCheckedChangeListener { _, isChecked ->
CallerAutoPilotManager.setDemoMode(isChecked) CallerAutoPilotManager.setDemoMode(isChecked)
FunctionBuildConfig.isDemoMode = isChecked FunctionBuildConfig.isDemoMode = isChecked
cbIsDrawAutopilotTrajectoryData.isEnabled = !isChecked cbIsDrawAutopilotTrajectoryData.isEnabled = !isChecked
@@ -354,29 +361,27 @@ class DebugSettingView @JvmOverloads constructor(
CallerAutoPilotManager.setControlAutopilotCarAuto(isChecked) CallerAutoPilotManager.setControlAutopilotCarAuto(isChecked)
} }
tbSelfLog.setOnCheckedChangeListener { buttonView, isChecked -> tbSelfLog.setOnCheckedChangeListener { _, isChecked ->
if (isChecked) { if (isChecked) {
LogUtils.getConfig().isLogSwitch = false LogUtils.getConfig().isLogSwitch = false
Logger.init(LogLevel.OFF) Logger.init(LogLevel.OFF)
com.elegant.log.simplelog.Logger.init(com.elegant.log.simplelog.LogLevel.OFF) MoGoAiCloudClient.getInstance().aiCloudClientConfig.isShowDebugLog = false
com.zhidao.account.sdk.utils.Logger.init(false)
} else { } else {
LogUtils.getConfig().isLogSwitch = true LogUtils.getConfig().isLogSwitch = true
Logger.init(LogLevel.DEBUG) Logger.init(LogLevel.DEBUG)
com.elegant.log.simplelog.Logger.init(com.elegant.log.simplelog.LogLevel.DEBUG) MoGoAiCloudClient.getInstance().aiCloudClientConfig.isShowDebugLog = true
com.zhidao.account.sdk.utils.Logger.init(true)
} }
} }
tbADASLog.setOnCheckedChangeListener { buttonView, isChecked -> tbADASLog.setOnCheckedChangeListener { _, isChecked ->
if (isChecked) { if (isChecked) {
CallerAutoPilotManager.setEnableLog(false)
CallerAutoPilotManager.setIsWriteLog(false)
} else {
CallerAutoPilotManager.setEnableLog(true) CallerAutoPilotManager.setEnableLog(true)
CallerAutoPilotManager.setIsWriteLog(true) CallerAutoPilotManager.setIsWriteLog(true)
} else {
CallerAutoPilotManager.setEnableLog(false)
CallerAutoPilotManager.setIsWriteLog(false)
} }
} }
tbControlView.setOnCheckedChangeListener { buttonView, isChecked -> tbControlView.setOnCheckedChangeListener { _, isChecked ->
if (isChecked) { if (isChecked) {
CallerSmpManager.hidePanel() CallerSmpManager.hidePanel()
} else { } else {
@@ -385,29 +390,35 @@ class DebugSettingView @JvmOverloads constructor(
} }
tbLogCatch.isChecked = tbLogCatch.isChecked =
SharedPrefsMgr.getInstance(context).getBoolean(MoGoConfig.CATCH_LOG, false) SharedPrefsMgr.getInstance(context).getBoolean(MoGoConfig.CATCH_LOG, false)
tbLogCatch.setOnCheckedChangeListener { _, isChecked -> tbLogCatch.setOnCheckedChangeListener { _, isChecked ->
if (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 { } else {
CallerDevaToolsManager.stopCatchLog() CallerDevaToolsManager.stopCatchLog()
} }
} }
CallerDevaToolsListenerManager.registerDevaToolsLogCatchListener(TAG, CallerDevaToolsListenerManager.registerDevaToolsLogCatchListener(TAG,
object : IMoGoDevaToolsListener { object : IMoGoDevaToolsListener {
override fun onLogCatchClose() { override fun onLogCatchClose() {
super.onLogCatchClose() super.onLogCatchClose()
tbLogCatch.isChecked = false tbLogCatch.isChecked = false
} }
override fun onLogCatch(lineLog: String) { override fun onLogCatch(lineLog: String) {
logInfoView?.let { logInfoView?.let {
if (logViewAttach) { if (logViewAttach) {
it.onLogCatch(lineLog) it.onLogCatch(lineLog)
}
} }
} }
} })
})
tbLogDebugView.setOnCheckedChangeListener { _, isChecked -> tbLogDebugView.setOnCheckedChangeListener { _, isChecked ->
if (isChecked) { if (isChecked) {
logInfoView = LogInfoView() logInfoView = LogInfoView()
@@ -427,7 +438,7 @@ class DebugSettingView @JvmOverloads constructor(
logViewDestroy() logViewDestroy()
} }
} }
tbLogTraceView.setOnCheckedChangeListener { _, isChecked -> cbAdasChainLog.setOnCheckedChangeListener { _, isChecked ->
val traceInfoMap = CallerDevaToolsManager.getTraceInfo() val traceInfoMap = CallerDevaToolsManager.getTraceInfo()
val chainLogParam = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA] val chainLogParam = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA]
chainLogParam?.let { chainLogParam?.let {
@@ -470,18 +481,20 @@ class DebugSettingView @JvmOverloads constructor(
tvAutopilotInfo.text = GsonUtils.toJson(mAutoPilotStatusInfo) tvAutopilotInfo.text = GsonUtils.toJson(mAutoPilotStatusInfo)
tvCarInfo.text = tvCarInfo.text =
"GPS时间${mAutoPilotCarStateInfo?.values?.satelliteTime}\n" + "GPS时间${mAutoPilotCarStateInfo?.values?.satelliteTime}\n" +
"自车经纬度:\n${mAutoPilotCarStateInfo?.values?.lon}\n${mAutoPilotCarStateInfo?.values?.lat}\n" "自车经纬度:\n${mAutoPilotCarStateInfo?.values?.lon}\n${mAutoPilotCarStateInfo?.values?.lat}\n"
tvIdentifyInfo.text = tvIdentifyInfo.text =
"感知数据个数:${mIdentifyDataSize}" "「有效类型」感知数据个数:${mIdentifyDataSize}\n" +
"「未知类型」感知数据个数:${mUnknownIdentifyDataSize}\n"
tvTrajectoryInfoSize.text = tvTrajectoryInfoSize.text =
"引导线点个数:${mTrajectoryInfoSize}" "引导线点个数:${mTrajectoryInfoSize}"
tvRouteInfoSize.text = tvRouteInfoSize.text =
"全局路径规划点个数:${mRouteInfoSize}" "全局路径规划点个数:${mRouteInfoSize}"
// 用完之后重制为0防止节点回掉突然没数据导致页面显示还是之前的数据情况 // 用完之后重制为0防止节点回掉突然没数据导致页面显示还是之前的数据情况
mIdentifyDataSize = 0 mIdentifyDataSize = 0
mUnknownIdentifyDataSize = 0
mTrajectoryInfoSize = 0 mTrajectoryInfoSize = 0
mRouteInfoSize = 0 mRouteInfoSize = 0
} }
@@ -528,7 +541,17 @@ class DebugSettingView @JvmOverloads constructor(
} }
override fun onAutopilotIdentifyDataUpdate(trafficData: ArrayList<TrafficData>?) { override fun onAutopilotIdentifyDataUpdate(trafficData: ArrayList<TrafficData>?) {
mIdentifyDataSize = trafficData?.size ?: 0 // 重制数据
mIdentifyDataSize = 0
mUnknownIdentifyDataSize = 0
// 遍历计数
trafficData?.forEach {
if (it.type == TrafficTypeEnum.TYPE_TRAFFIC_ID_WEI_ZHI) {
mUnknownIdentifyDataSize++
} else {
mIdentifyDataSize++
}
}
} }
override fun onAutopilotWarnMessage(autopilotWarnMessage: AutopilotWarnMessage?) { override fun onAutopilotWarnMessage(autopilotWarnMessage: AutopilotWarnMessage?) {

View File

@@ -274,6 +274,16 @@
android:textOn="关闭鹰眼感知" android:textOn="关闭鹰眼感知"
android:textSize="@dimen/dp_24" /> android:textSize="@dimen/dp_24" />
<ToggleButton
android:id="@+id/tbIsDrawUnknownIdentifyData"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:gravity="center"
android:textOff="显示「未知类型」感知"
android:textOn="关闭「未知类型」感知"
android:textSize="@dimen/dp_24" />
<ToggleButton <ToggleButton
android:id="@+id/tbIsDrawOBUIdentifyData" android:id="@+id/tbIsDrawOBUIdentifyData"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -365,7 +375,7 @@
android:id="@+id/flLogControl" android:id="@+id/flLogControl"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:orientation="vertical"
app:alignContent="flex_start" app:alignContent="flex_start"
app:alignItems="center" app:alignItems="center"
app:flexDirection="row" app:flexDirection="row"
@@ -389,18 +399,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="2dp" android:layout_margin="2dp"
android:gravity="center" android:gravity="center"
android:textOff="关闭「ADAS」Log" android:textOff="打开「ADAS」Log"
android:textOn="打开「ADAS」Log" android:textOn="关闭「ADAS」Log"
android:textSize="@dimen/dp_24" />
<ToggleButton
android:id="@+id/tbLogCatch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:gravity="center"
android:textOff="开始抓取全量日志"
android:textOn="停止抓取全量日志"
android:textSize="@dimen/dp_24" /> android:textSize="@dimen/dp_24" />
<ToggleButton <ToggleButton
@@ -413,18 +413,58 @@
android:textOn="关闭日志过滤面板" android:textOn="关闭日志过滤面板"
android:textSize="@dimen/dp_24" /> android:textSize="@dimen/dp_24" />
<ToggleButton </com.google.android.flexbox.FlexboxLayout>
android:id="@+id/tbLogTraceView"
android:layout_width="wrap_content" <LinearLayout
android:layout_height="wrap_content" android:layout_width="match_parent"
android:layout_margin="2dp" android:layout_height="@dimen/dp_90"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/etLogCatch"
android:layout_width="0dp"
android:layout_height="@dimen/dp_80"
android:layout_weight="2"
android:background="#32009688"
android:digits="0123456789"
android:gravity="center" android:gravity="center"
android:textOff="ADAS长链数据未写入" android:hint="默认10分钟"
android:textOn="ADAS长链数据写入中..." android:minHeight="48dp"
android:padding="@dimen/dp_5"
android:textSize="@dimen/dp_24" /> android:textSize="@dimen/dp_24" />
</com.google.android.flexbox.FlexboxLayout> <ToggleButton
android:id="@+id/tbLogCatch"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:gravity="center"
android:padding="@dimen/dp_5"
android:textOff="开始抓取全量日志"
android:textOn="停止抓取全量日志"
android:textSize="@dimen/dp_24" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="--------------------链路日志--------------------"
android:textColor="@android:color/holo_red_light"
android:textSize="@dimen/dp_24"
android:textStyle="bold" />
<CheckBox
android:id="@+id/cbAdasChainLog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:padding="@dimen/dp_10"
android:text="ADAS长链数据"
android:textColor="#000"
android:textSize="@dimen/dp_24" />
</LinearLayout> </LinearLayout>
<!--域控制器(工控机)配置信息--> <!--域控制器(工控机)配置信息-->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@@ -199,7 +199,6 @@ public abstract class MainMoGoApplication extends AbsMogoApplication {
mogoLocation.getCityCode(), mogoLocation.getCityCode(),
mogoLocation.getLatitude(), mogoLocation.getLatitude(),
mogoLocation.getLongitude()); mogoLocation.getLongitude());
Logger.i(TAG, "使用实时GPS信息" + httpDnsSimpleLocation);
} else { } else {
String ciyCode = SharedPrefsMgr.getInstance(getApp()) String ciyCode = SharedPrefsMgr.getInstance(getApp())
.getString(SharedPrefsConstants.LOCATION_CITY_CODE); .getString(SharedPrefsConstants.LOCATION_CITY_CODE);

View File

@@ -59,6 +59,15 @@ object FunctionBuildConfig {
@JvmField @JvmField
var isDrawIdentifyData = true var isDrawIdentifyData = true
/**
* 地图是否绘制Adas识别回调的「未知类型」Marker
* true - 绘制
* false - 不绘制
*/
@Volatile
@JvmField
var isDrawUnknownIdentifyData = false
/** /**
* 地图是否绘制 OBU 识别回调的Marker * 地图是否绘制 OBU 识别回调的Marker
* true - 绘制 * true - 绘制

View File

@@ -63,23 +63,23 @@ SERVICE_CHAIN_VERSION=1.0.53
LOGLIB_VERSION=1.2.8 LOGLIB_VERSION=1.2.8
######## MogoAiCloudSDK Version ######## ######## MogoAiCloudSDK Version ########
# 网络请求 # 网络请求
MOGO_NETWORK_VERSION=1.3.30 MOGO_NETWORK_VERSION=1.3.31
# 鉴权 # 鉴权
MOGO_PASSPORT_VERSION=1.3.30 MOGO_PASSPORT_VERSION=1.3.31
# 常链接 # 常链接
MOGO_SOCKET_VERSION=1.3.30 MOGO_SOCKET_VERSION=1.3.31
# 数据采集 # 数据采集
MOGO_REALTIME_VERSION=1.3.30 MOGO_REALTIME_VERSION=1.3.31
# 探路,道路事件发布,获取 # 探路,道路事件发布,获取
MOGO_TANLU_VERSION=1.3.30 MOGO_TANLU_VERSION=1.3.31
# 直播推流 # 直播推流
MOGO_LIVE_VERSION=1.3.30 MOGO_LIVE_VERSION=1.3.31
# 直播拉流 # 直播拉流
MOGO_TRAFFICLIVE_VERSION=1.3.30 MOGO_TRAFFICLIVE_VERSION=1.3.31
# 定位服务 # 定位服务
MOGO_LOCATION_VERSION=1.3.30 MOGO_LOCATION_VERSION=1.3.31
# 远程通讯模块 # 远程通讯模块
MOGO_TELEMATIC_VERSION=1.3.30 MOGO_TELEMATIC_VERSION=1.3.31
######## MogoAiCloudSDK Version ######## ######## MogoAiCloudSDK Version ########
# 自研地图 # 自研地图
MAP_SDK_VERSION=2.0.5.1 MAP_SDK_VERSION=2.0.5.1
@@ -196,5 +196,5 @@ MOGO_OCH_TAXI_VERSION=2.0.66
# mogoAiCloud sdk services # mogoAiCloud sdk services
MOGO_AICLOUD_SERVICES_SDK_VERSION=2.1.16.10 MOGO_AICLOUD_SERVICES_SDK_VERSION=2.1.16.10
# v2x-sdk # v2x-sdk
MOGO_V2X_SDK_VERSION=1.3.30 MOGO_V2X_SDK_VERSION=1.3.31
################# 旧版本架构模块版本 ################# ################# 旧版本架构模块版本 #################

View File

@@ -3,6 +3,7 @@ package com.mogo.module.common.drawer;
import android.content.Context; import android.content.Context;
import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.AbsMogoApplication;
import com.mogo.eagle.core.data.config.FunctionBuildConfig;
import com.mogo.eagle.core.data.enums.TrafficTypeEnum; import com.mogo.eagle.core.data.enums.TrafficTypeEnum;
import com.mogo.eagle.core.data.traffic.TrafficData; import com.mogo.eagle.core.data.traffic.TrafficData;
import com.mogo.eagle.core.utilcode.mogo.logger.Logger; import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
@@ -83,7 +84,8 @@ public class IdentifyDataDrawer {
for (TrafficData trafficData : resultList) { for (TrafficData trafficData : resultList) {
// 过滤掉未知感知数据 // 过滤掉未知感知数据
if (trafficData.getType() == TrafficTypeEnum.TYPE_TRAFFIC_ID_WEI_ZHI) { if (!FunctionBuildConfig.isDrawUnknownIdentifyData &&
trafficData.getType() == TrafficTypeEnum.TYPE_TRAFFIC_ID_WEI_ZHI) {
//Logger.w(TAG, "未知感知类型数据,丢弃,不渲染"); //Logger.w(TAG, "未知感知类型数据,丢弃,不渲染");
continue; continue;
} }