添加盲区预警、路口碰撞预警监听器

添加一行log日志记录
原因:socket通信云端接口推送过来的json字符串不是标准格式,解析json失败返回null

Signed-off-by: chenfufeng <chenfufeng@zhidaoauto.com>
This commit is contained in:
chenfufeng
2021-09-24 16:58:41 +08:00
parent 5f419f6e75
commit 578945f2ee
4 changed files with 76 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
package com.mogo.eagle.core.data.v2x
import androidx.annotation.Keep
/**
* 路口碰撞预警、盲区预警等通用Bean
*/
@Keep
data class AdvanceWarningBean(
var objectId: String,
var status: Int,
var typeId: Int,
var time: Long,
var level: Int,
var position: Position,
var heading: Int,
var speed: Double,
var distance: Double,
var roadId: String,
var laneId: String,
var laneNum: Int,
var gdLocusList: List<Position>,
var locusList: List<Position>
)
@Keep
data class Position(var lat: Double, var lon: Double)

View File

@@ -167,6 +167,10 @@ public class MogoAiCloudSocketManager extends ConnectionLifecycleListener implem
@Override
public void onMsgReceived(int msgType, Object obj) {
if (obj == null) {
Logger.e(TAG,"Failed to parse the received message!");
return;
}
Logger.d(TAG,"onMsgReceived obj className : " + obj.getClass().getName());
List<IMogoOnMessageListener> listeners = mListeners.get(msgType);
if (listeners != null && !listeners.isEmpty()) {

View File

@@ -11,6 +11,7 @@ import com.mogo.module.v2x.listener.V2XMessageListener_401011;
import com.mogo.module.v2x.listener.V2XMessageListener_401012;
import com.mogo.module.v2x.listener.V2XMessageListener_402000;
import com.mogo.module.v2x.listener.V2XMessageListener_401018;
import com.mogo.module.v2x.listener.V2XMessageListener_404000;
import com.mogo.utils.logger.Logger;
import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
@@ -36,6 +37,7 @@ public class V2XSocketManager {
private V2XMessageListener_401010 v2XMessageListener_401010;
private V2XMessageListener_402000 mV2XMessageListener_402000;
private V2XMessageListener_401018 mV2XMessageListener401018;
private V2XMessageListener_404000 mV2XMessageListener_404000;
private V2XSocketManager() {
}
@@ -66,6 +68,7 @@ public class V2XSocketManager {
register401007();
register401009();
register401020();
register404000();
registerWarningMsg();
// TODO 这里是前瞻需求,量产版本需要注释
@@ -120,6 +123,11 @@ public class V2XSocketManager {
.getMoGoSocketManager()
.unregisterOnMessageListener(402000, mV2XMessageListener_402000);
}
if (mV2XMessageListener_404000 != null) {
V2XServiceManager
.getMoGoSocketManager()
.unregisterOnMessageListener(404000, mV2XMessageListener_404000);
}
}
/**
@@ -245,6 +253,17 @@ public class V2XSocketManager {
);
}
public void register404000() {
mV2XMessageListener_404000 = new V2XMessageListener_404000();
// 道路事件,在线车辆绘制
V2XServiceManager
.getMoGoSocketManager()
.registerOnMessageListener(
404000,
mV2XMessageListener_404000
);
}
/**
* * 车路云—场景预警-V1.0
* * http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=52829799

View File

@@ -0,0 +1,26 @@
package com.mogo.module.v2x.listener;
import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
import com.mogo.eagle.core.data.v2x.AdvanceWarningBean;
import com.mogo.service.cloud.socket.IMogoOnMessageListener;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
/**
* @author chenfufeng
* @description 路口碰撞预警、盲区预警等
* @since: 2021/9/23
*/
public class V2XMessageListener_404000 implements IMogoOnMessageListener<AdvanceWarningBean> {
@Override
public Class target() {
return AdvanceWarningBean.class;
}
@Override
public void onMsgReceived(AdvanceWarningBean message) {
// 将接收到的数据转换成最优车道推荐的场景数据
Logger.i(MODULE_NAME, "V2XMessageListener_404000" + GsonUtil.jsonFromObject(message));
}
}