From c81c2ed65fffe272027986a3858542ca4c6e0d9b Mon Sep 17 00:00:00 2001 From: liujing Date: Mon, 31 May 2021 20:23:48 +0800 Subject: [PATCH] =?UTF-8?q?[rm]=20=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E7=B1=BB=20=E4=B8=8E=E6=96=B0=E9=9D=99=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E8=81=94=E8=B0=83=E8=BD=A6=E8=B7=AF=E4=BA=91=E9=A2=84=E8=AD=A6?= =?UTF-8?q?,=E8=81=94=E8=B0=83=E7=B1=BB=E5=9E=8B=E4=B8=8D=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/entity/V2XMessageEntity.java | 16 ++- .../mogo/module/v2x/V2XModuleProvider.java | 36 +++-- .../com/mogo/module/v2x/V2XSocketManager.java | 8 +- .../com/mogo/module/v2x/V2XWaringManager.java | 132 ------------------ ...01.java => V2XMessageListener_401018.java} | 23 ++- .../v2x/scenario/impl/V2XScenarioManager.java | 5 +- .../raw/scenario_warning_event_data_left.json | 2 +- ...enario_warning_event_data_pedestrians.json | 2 +- .../scenario_warning_event_data_right.json | 2 +- 9 files changed, 44 insertions(+), 182 deletions(-) delete mode 100644 modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XWaringManager.java rename modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/{V2XMessageListener_402001.java => V2XMessageListener_401018.java} (60%) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/V2XMessageEntity.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/V2XMessageEntity.java index 336e7d5a27..7740e3a18d 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/V2XMessageEntity.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/V2XMessageEntity.java @@ -145,14 +145,16 @@ public class V2XMessageEntity implements Serializable { int ALERT_RECOMMEND_ROUTE = 1_011; // 基于预判目的地违章高发停车场推荐 int ALERT_RECOMMEND_PARKING = 1_012; - // 前方碰撞预警 - int ALERT_THE_FRONT_CRASH_WARNING_TOP = 1_0013; - // 左前方碰撞预警 - int ALERT_THE_FRONT_CRASH_WARNING_LEFT = 1_0014; - // 右前方碰撞预警 - int ALERT_THE_FRONT_CRASH_WARNING_RIGHT = 1_0015; + // 弱势交通参与者401018 + int ALERT_THE_FRONT_WEAKNESS = 40_1018; + // 前方行人碰撞预警 + int ALERT_THE_FRONT_CRASH_WARNING_TOP = 0; // 后方碰撞预警 - int ALERT_THE_FRONT_CRASH_WARNING_BOTTOM = 1_0016; + int ALERT_THE_FRONT_CRASH_WARNING_BOTTOM = 1; + // 左前方碰撞预警 + int ALERT_THE_FRONT_CRASH_WARNING_LEFT = 2; + // 右前方碰撞预警 + int ALERT_THE_FRONT_CRASH_WARNING_RIGHT = 3; // 推送VR消息展示 int ALERT_PUSH_VR_SHOW = 2_000; // 自车求助 diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java index 340a86bc68..01c4b29e7b 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java @@ -281,23 +281,23 @@ public class V2XModuleProvider implements V2XServiceManager .getMogoRegisterCenter() .registerMogoMarkerClickListener(V2XConst.MODULE_NAME, new IMogoMarkerClickListener() { - @Override - public boolean onMarkerClicked(IMogoMarker marker) { - try { - MarkerExploreWay markerExploreWay = - (MarkerExploreWay) ((MarkerShowEntity) marker.getObject()).getBindObj(); - Logger.d(V2XConst.MODULE_NAME, - "V2X===违章停车:onMarkerClicked=" + markerExploreWay); + @Override + public boolean onMarkerClicked(IMogoMarker marker) { + try { + MarkerExploreWay markerExploreWay = + (MarkerExploreWay) ((MarkerShowEntity) marker.getObject()).getBindObj(); + Logger.d(V2XConst.MODULE_NAME, + "V2X===违章停车:onMarkerClicked=" + markerExploreWay); - //直接展示弹窗 - V2XIllegalParkWindow parkScenario = new V2XIllegalParkWindow(); - parkScenario.show(markerExploreWay, false); - } catch (Exception e) { - e.printStackTrace(); - } - return true; - } - }); + //直接展示弹窗 + V2XIllegalParkWindow parkScenario = new V2XIllegalParkWindow(); + parkScenario.show(markerExploreWay, false); + } catch (Exception e) { + e.printStackTrace(); + } + return true; + } + }); // 注册V2X场景Socket V2XServiceManager.getV2XSocketManager().registerSocketMessage(); @@ -305,8 +305,6 @@ public class V2XModuleProvider implements V2XServiceManager.getV2XMarkerService().startAutoRefresh(); // 锁车就是将地图视图移植中心点,因为行驶中的车和地图要相对的跟随 V2XServiceManager.getMapUIController().recoverLockMode(); - //注册adas数据通道 - V2XWaringManager.getInstance().registerAdasSocketMessage(mContext); } /** @@ -344,7 +342,7 @@ public class V2XModuleProvider implements } } else if (descriptor == StatusDescriptor.SEEK_HELPING) { refreshMeSeekHelp(isTrue); - }else if (descriptor == StatusDescriptor.TOP_CONTAINER_READY) { + } else if (descriptor == StatusDescriptor.TOP_CONTAINER_READY) { if (isTrue) { V2XServiceManager.getV2XRefreshModel().queryRoadData(MoGoAiCloudClientConfig.getInstance().getSn()); } 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 c60b4e390d..0dbad21eb8 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 @@ -10,7 +10,7 @@ import com.mogo.module.v2x.listener.V2XMessageListener_401010; 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_402001; +import com.mogo.module.v2x.listener.V2XMessageListener_401018; import com.mogo.utils.logger.Logger; import static com.mogo.module.v2x.V2XConst.MODULE_NAME; @@ -35,7 +35,7 @@ public class V2XSocketManager { private V2XMessageListener_401009 v2XMessageListener_401009; private V2XMessageListener_401010 v2XMessageListener_401010; private V2XMessageListener_402000 mV2XMessageListener_402000; - private V2XMessageListener_402001 mV2XMessageListener402001; + private V2XMessageListener_401018 mV2XMessageListener401018; private V2XSocketManager() { } @@ -251,8 +251,8 @@ public class V2XSocketManager { * * 弱势交通参与者 */ public void registerWarningMsg() { - mV2XMessageListener402001 = new V2XMessageListener_402001(); - V2XServiceManager.getMoGoSocketManager().registerOnMessageListener(402001, mV2XMessageListener402001); + mV2XMessageListener401018 = new V2XMessageListener_401018(); + V2XServiceManager.getMoGoSocketManager().registerOnMessageListener(401018, mV2XMessageListener401018); } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XWaringManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XWaringManager.java deleted file mode 100644 index 126f448d0a..0000000000 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XWaringManager.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.mogo.module.v2x; - -import android.content.Context; -import android.content.Intent; -import android.util.Log; - -import com.mogo.module.common.entity.V2XWarningEntity; -import com.mogo.module.v2x.listener.V2XMessageListener_402001; -import com.mogo.module.v2x.utils.V2XUtils; -import com.mogo.utils.logger.Logger; -import com.mogo.utils.network.utils.GsonUtil; - -import java.io.ByteArrayOutputStream; -import java.io.InputStream; - -/** - * desc : V2X报警事件管理,这里进行报警事件的分发处理,包括了adas数据 - */ -public class V2XWaringManager { - - private Context mContext; - - private static V2XWaringManager mV2XWaringManager; - //TODO 需要修改 - private V2XMessageListener_402001 mV2XMessageListener402001; - - - private V2XWaringManager() { - } - - /** - * 获取操作实体 - */ - public static synchronized V2XWaringManager getInstance() { - synchronized (V2XWaringManager.class) { - if (mV2XWaringManager == null) { - mV2XWaringManager = new V2XWaringManager(); - } - } - return mV2XWaringManager; - } - - /** - * 注册长链接消息处理 - */ - public void registerAdasSocketMessage(Context context) { - Logger.d(V2XConst.LOG_NAME_WARN, "开始注册Socket通道...."); - mContext = context; - - //根据云端,绘制自车和交点,以及行人或二轮车与交点的绘制 - registerWarnListener(); - -// handleAdasData(); - - } - - /** - * 测试数据 - */ - private void testData(String adasResult) { - - try { - int id = R.raw.scenario_warning_event_data_right; - switch (adasResult) { - case "left": - id = R.raw.scenario_warning_event_data_left; - break; - case "pedestrians": - id = R.raw.scenario_warning_event_data_pedestrians; - break; - default: - } - InputStream inputStream = V2XUtils.getApp() - .getResources() - .openRawResource(id); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - int len = -1; - byte[] buffer = new byte[1024]; - while ((len = inputStream.read(buffer)) != -1) { - baos.write(buffer, 0, len); - } - inputStream.close(); - - // 加载数据源 - V2XWarningEntity warningEntity = GsonUtil.objectFromJson(baos.toString(), V2XWarningEntity.class); -// V2XServiceManager.getMoGoV2XCloundDataManager().analysisV2XCloundDataEvent(warningEntity); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * 反注册消息通道,不再进行接受 - */ - public void unregisterAdasSocketMessage() { - Logger.w(V2XConst.LOG_NAME_WARN, "反注册Socket通道...."); - if (mV2XMessageListener402001 != null) { - V2XServiceManager - .getMoGoSocketManager() - .unregisterOnMessageListener(401018, mV2XMessageListener402001); - } - } - - /** - * 道路预警 弱势群体事件,行人 TODO type - */ - private void registerWarnListener() { - mV2XMessageListener402001 = new V2XMessageListener_402001(); - V2XServiceManager - .getMoGoSocketManager() - .registerOnMessageListener( - 401018, - mV2XMessageListener402001); - } - - public V2XMessageListener_402001 getV2XMessageListener() { - return mV2XMessageListener402001; - } - - - /** - * 处理adas返回的数据 - */ - public void handleAdasData(Intent intent) { - Log.d(V2XConst.LOG_NAME_WARN, "V2XWaringManager ---- handleAdasData "); - String adasResult = (String) intent.getSerializableExtra(V2XConst.BROADCAST_ADAS_EXTRA_KEY); - //测试数据 - testData(adasResult); - } - - -} diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_402001.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_401018.java similarity index 60% rename from modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_402001.java rename to modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_401018.java index a98755091f..b510fef6f5 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_402001.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_401018.java @@ -14,27 +14,26 @@ import com.mogo.module.v2x.utils.V2XUtils; import com.mogo.service.connection.IMogoOnMessageListener; /** - * desc: 下发的云端预警数据 + * desc: 车路云预警-弱势交通参与者 */ -public class V2XMessageListener_402001 implements IMogoOnMessageListener { +public class V2XMessageListener_401018 implements IMogoOnMessageListener { @Override - public Class target() { - return V2XOptimalRouteDataRes.class; + public Class target() { + return V2XWarningEntity.class; } @Override - public void onMsgReceived(V2XOptimalRouteDataRes info) { - Log.d(V2XConst.LOG_NAME_WARN, "V2XWarnMessageListener onMsgReceived ---11---> "); - //Logger.d(MODULE_NAME, "V2XMessageListener_401011==V2X地图气泡数据刷新:\n" + GsonUtil.jsonFromObject(response)); + public void onMsgReceived(V2XWarningEntity info) { + Log.d(V2XConst.MODULE_NAME, "V2XWarnMessageListener onMsgReceived ---11---> "); V2XUtils.runOnBackgroundThread(() -> { // 解析不同的Marker类型,然后对应的进行绘制 if (info != null) { - // 解析存储道路事件 liyz - Log.d(V2XConst.LOG_NAME_WARN, "V2XWarnMessageListener onMsgReceived --22--> "); - V2XMessageEntity v2xMessageEntity = new V2XMessageEntity<>(); + // 解析存储道路事件 + Log.d(V2XConst.MODULE_NAME, "V2XWarnMessageListener onMsgReceived --22--> "); + V2XMessageEntity v2xMessageEntity = new V2XMessageEntity<>(); // 控制类型 - v2xMessageEntity.setType(V2XMessageEntity.V2XTypeEnum.ALERT_PUSH_VR_SHOW); + v2xMessageEntity.setType(V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_WEAKNESS); // 设置数据 v2xMessageEntity.setContent(info); Intent intent = new Intent(V2XConst.BROADCAST_SCENE_HANDLER_ACTION); @@ -42,7 +41,5 @@ public class V2XMessageListener_402001 implements IMogoOnMessageListener