From def8e8d0739ecdde577c6a5c1d645e161310a9ff Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Fri, 24 Sep 2021 16:58:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=9B=B2=E5=8C=BA=E9=A2=84?= =?UTF-8?q?=E8=AD=A6=E3=80=81=E8=B7=AF=E5=8F=A3=E7=A2=B0=E6=92=9E=E9=A2=84?= =?UTF-8?q?=E8=AD=A6=E7=9B=91=E5=90=AC=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加一行log日志记录 原因:socket通信云端接口推送过来的json字符串不是标准格式,解析json失败返回null Signed-off-by: chenfufeng --- .../eagle/core/data/v2x/AdvanceWarningBean.kt | 27 +++++++++++++++++++ .../socket/MogoAiCloudSocketManager.java | 4 +++ .../com/mogo/module/v2x/V2XSocketManager.java | 19 +++++++++++++ .../listener/V2XMessageListener_404000.java | 26 ++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/v2x/AdvanceWarningBean.kt create mode 100644 modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_404000.java diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/v2x/AdvanceWarningBean.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/v2x/AdvanceWarningBean.kt new file mode 100644 index 0000000000..f64ea6cd66 --- /dev/null +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/v2x/AdvanceWarningBean.kt @@ -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, + var locusList: List +) + +@Keep +data class Position(var lat: Double, var lon: Double) diff --git a/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/MogoAiCloudSocketManager.java b/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/MogoAiCloudSocketManager.java index 2313dd529f..ac9f284b7a 100644 --- a/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/MogoAiCloudSocketManager.java +++ b/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/MogoAiCloudSocketManager.java @@ -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 listeners = mListeners.get(msgType); if (listeners != null && !listeners.isEmpty()) { diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XSocketManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XSocketManager.java index 0dbad21eb8..7ab374d1f7 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XSocketManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XSocketManager.java @@ -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 diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_404000.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_404000.java new file mode 100644 index 0000000000..9597b62f40 --- /dev/null +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_404000.java @@ -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 { + @Override + public Class target() { + return AdvanceWarningBean.class; + } + + @Override + public void onMsgReceived(AdvanceWarningBean message) { + // 将接收到的数据转换成最优车道推荐的场景数据 + Logger.i(MODULE_NAME, "V2XMessageListener_404000:" + GsonUtil.jsonFromObject(message)); + } +}