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:
@@ -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\""
|
||||||
// 构建的是否是演示(美化)模式
|
// 构建的是否是演示(美化)模式
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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");
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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] =
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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?) {
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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 - 绘制
|
||||||
|
|||||||
@@ -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
|
||||||
################# 旧版本架构模块版本 #################
|
################# 旧版本架构模块版本 #################
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user