From 744c6257287849a716ef7af363e77b20a77b68a3 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Mon, 9 Aug 2021 16:56:53 +0800 Subject: [PATCH] fixed conflict --- config.gradle | 2 +- .../mogo/module/obu/mogo/MogoObuConst.java | 46 ++++---- .../module/obu/mogo/MogoPrivateObuManager.kt | 102 +++++++++++------- 3 files changed, 86 insertions(+), 64 deletions(-) diff --git a/config.gradle b/config.gradle index f826e2431c..e9a2943da3 100644 --- a/config.gradle +++ b/config.gradle @@ -172,7 +172,7 @@ ext { // obu sdk obusdk : "com.zhidao.enterprise.smartv2x:smartv2x:1.0.0.3", // mebulaobu : 'com.zhidao.support.nebulaobu:nebulaobu:1.0.0.3', - mogoobu : 'com.zhidao.support.obu:mogoobu:1.0.0.8', + mogoobu : 'com.zhidao.support.obu:mogoobu:1.0.0.10', // 左侧面板 moduleleftpanel : "com.mogo.module:module-left-panel:${MOGO_MODULE_LEFT_PANEL_VERSION}", diff --git a/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MogoObuConst.java b/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MogoObuConst.java index 57005674bc..29c59a4189 100644 --- a/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MogoObuConst.java +++ b/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MogoObuConst.java @@ -34,16 +34,12 @@ public class MogoObuConst { public static final String TYPE_TURN_LEFT_WARN_VOICE_TEXT = "注意左前车辆"; /** - * 盲区预警 -1 + * 盲区预警/变道预警 类似 */ public static final int TYPE_BLIND_ASSIST_WARN = 104; public static final String TYPE_BLIND_ASSIST_WARN_TEXT = "盲区碰撞预警"; - public static final String TYPE_BLIND_ASSIST_WARN_VOICE_TEXT = "注意左后车辆/注意右后车辆"; - - /** - * 变道预警 -2 - */ - public static final int TYPE_CHANGE_LANES_WARN = 105; + public static final String TYPE_BLIND_ASSIST_WARN_VOICE_LEFT_TEXT = "注意左后车辆"; + public static final String TYPE_BLIND_ASSIST_WARN_VOICE_RIGHT_TEXT = "注意右后车辆"; /** * 逆向超车预警 @@ -60,58 +56,64 @@ public class MogoObuConst { public static final String TYPE_URGENCY_COLLISION_WARNING_VOICE_TEXT = "前车急刹车"; /** - * 异常车辆预警 -1 + * 异常车辆预警 */ public static final int TYPE_UNUSUAL_CAR_WARN = 108; public static final String TYPE_UNUSUAL_CAR_WARN_TEXT = "前车异常"; public static final String TYPE_UNUSUAL_CAR_WARN_VOICE_TEXT = "前车异常"; - + public static final String TYPE_UNUSUAL_CAR_WARN_VOICE_LEFT_TEXT = "左前车辆异常"; + public static final String TYPE_UNUSUAL_CAR_WARN_VOICE_RIGHT_TEXT = "右前车辆异常"; /** - * 车辆失控预警 -1 + * 车辆失控预警 */ public static final int TYPE_CAR_OUT_OF_CONTROL_WARN = 109; public static final String TYPE_CAR_OUT_OF_CONTROL_WARN_TEXT = "前车失控预警"; public static final String TYPE_CAR_OUT_OF_CONTROL_WARN_VOICE_TEXT = "前车失控预警"; + public static final String TYPE_CAR_OUT_OF_CONTROL_WARN_VOICE_LEFT_TEXT = "左前车失控预警"; + public static final String TYPE_CAR_OUT_OF_CONTROL_WARN_VOICE_RIGHT_TEXT = "右前车失控预警"; /** - * 限速预警 -1 ? + * 限速预警 ? 未知 */ public static final int TYPE_LIMIT_SPEED_WARN = 110; public static final String TYPE_LIMIT_SPEED_WARN_TEXT = "用户已超速"; public static final String TYPE_LIMIT_SPEED_WARN_VOICE_TEXT = ""; - /** * 闯红灯预警 ? */ public static final int TYPE_RUSH_RED_LIGHT = 111; + public static final String TYPE_RUSH_RED_LIGHT_TEXT = "路口红灯,禁止通行"; + public static final String TYPE_RUSH_RED_LIGHT_VOICE_TEXT = "路口红灯,禁止通行"; + /** * 行人/摩托车 碰撞预警 -1 根据类型判断 */ public static final int TYPE_ROAD_USER_COLLISION_WARNING = 112; - + public static final String TYPE_ROAD_USER_COLLISION_WARNING_PERSON_TEXT = "行人碰撞预警"; + public static final String TYPE_ROAD_USER_COLLISION_WARNING_MOTORBIKE_TEXT = "摩托车碰撞预警"; /** - * 绿波车速引导 -1? + * 绿波车速引导 ? */ public static final int TYPE_OPTIMAL_SPEED_ADVISORY = 113; - /** - * 道路危险情况预警 -1 - */ - public static final int TYPE_UNUSUAL_ROAD_WARN = 114; - public static final String TYPE_UNUSUAL_ROAD_WARN_TEXT = "道路危险情况预警"; - public static final String TYPE_UNUSUAL_ROAD_WARN_VOICE_TEXT = "前方路况危险"; - /** * 交通标牌提示 ? */ public static final int TYPE_TRAFFIC_SIGN_INFO = 115; /** - * 前方拥堵提醒 ? + * 道路危险情况预警 ? + */ + public static final int TYPE_UNUSUAL_ROAD_WARN = 114; + public static final String TYPE_UNUSUAL_ROAD_WARN_TEXT = "道路危险情况预警"; + public static final String TYPE_UNUSUAL_ROAD_WARN_VOICE_TEXT = "前方路况危险"; + + /** + * 前方拥堵提醒 ? 具体距离是否有未知 */ public static final int TYPE_BLOCK_WARN = 116; public static final String TYPE_BLOCK_WARN_TEXT = "前方道路拥堵"; diff --git a/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MogoPrivateObuManager.kt b/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MogoPrivateObuManager.kt index e7e6cace41..04c8e8eb71 100644 --- a/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MogoPrivateObuManager.kt +++ b/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MogoPrivateObuManager.kt @@ -28,7 +28,7 @@ class MogoPrivateObuManager private constructor() { private var mMogoServiceApis: IMogoServiceApis? = null private var mIMoGoWaringProvider: IMoGoWaringProvider? = null val icw_data = - "02000114010000000000001effd7892b11a4440af70100142a03000907e506100e2917019000005662010a45000b0000220847162c000037970010000a17f6215c459478b6010347ac045000090a0006012c01f4009600080073007300730073000b000000000000000000000000000000002b000037780000247300003261000000000000426c827f47001200100000000000000000000021220000349a006c0010000a17f63ecb45947ba301030000332c0010000a17f642e945947bea010300004d580010000a17f6435545947e4e0103000054c40010000a17f6413a45947f96010300005c300010000a17f62c2845947d140103000070e40010000a17f5fdb14594786001030000992000060004ffec2710" + "02000114010000000000001effd7892b11a4440af70100142a03000907e506100e2917019000005662010a45000b0000220847162c000037970010000a17f6215c459478b6010347ac045000090a0006012c01f4009600080073007300730073000b000000000000000000000000000000002b000037780000247300003261000000000000426c827f47001200100000000000000000000021220000349a006c0010000a17f63ecb45947ba301030000332c0010000a17f642e945947bea010300004d580010000a17f6435545947e4e0103000054c40010000a17f6413a45947f96010300005c300010000a17f62c2845947d140103000070e40010000a17f5fdb14594786001030000992000060004ffec2710" // Obu 识别他车绘制 private var mObuRecognizedResultDrawer: ObuRecognizedResultDrawer? = null @@ -36,7 +36,7 @@ class MogoPrivateObuManager private constructor() { fun init(context: Context?) { Logger.d(MogoObuConst.TAG_MOGO_OBU, "obuManager初始化--") mMogoServiceApis = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS) - .navigation(context) as IMogoServiceApis + .navigation(context) as IMogoServiceApis // 获取预警模块的接口 mIMoGoWaringProvider = mMogoServiceApis!!.waringProviderApi @@ -44,8 +44,7 @@ class MogoPrivateObuManager private constructor() { mObuRecognizedResultDrawer = ObuRecognizedResultDrawer() //自研obu - MogoObuManager.getInstance().init(context) - MogoObuManager.getInstance().connect("192.168.1.199") + MogoObuManager.getInstance().connect(context, "192.168.1.199") MogoObuManager.getInstance().registerListener(mogoObuListener) //TODO 测试 @@ -107,7 +106,7 @@ class MogoPrivateObuManager private constructor() { } override fun onCvxRvInfoIndInfo(info: CvxRvInfoIndInfo) { - //远车信息, + //远车信息 Logger.d(MogoObuConst.TAG_MOGO_OBU, "onCvxRvInfoIndInfo ------> $info") // 更新周边车辆 mObuRecognizedResultDrawer?.addCvxRvInfoIndInfo(info) @@ -124,24 +123,21 @@ class MogoPrivateObuManager private constructor() { //显示警告弹框 mMogoServiceApis!!.v2XListenerManager.warningChangedForListenerWithDirection( - getMessage(direction), - "ACTION_V2X_FRONT_WARNING" + getMessage(direction), + "ACTION_V2X_FRONT_WARNING" ) //处理预警类型 val appId = info.threat_info.app_id - Logger.d( - MogoObuConst.TAG_MOGO_OBU, - "direction = " + direction + "----" + getMessage(direction) + "--appId = " + appId - ) - handleSdkObu(getEventType(appId), info.threat_info.threat_level) + Logger.d(MogoObuConst.TAG_MOGO_OBU, "direction = " + direction + "----" + getMessage(direction) + "--appId = " + appId) + handleSdkObu(getEventType(appId), info.threat_info.threat_level, getMessage(direction), info.status) } //更新周边车辆进行预警颜色变换,车辆实时移动和变色 mObuRecognizedResultDrawer?.updateCvxRvInfoIndInfo( - info.threat_info.threat_level, - info.vehicle_id, - info.basic_info + info.threat_info.threat_level, + info.vehicle_id, + info.basic_info ) } else { Logger.e(MogoObuConst.TAG_MOGO_OBU, "info == null ") @@ -152,12 +148,16 @@ class MogoPrivateObuManager private constructor() { private fun getMessage(targetClassification: Int): Int { return when (targetClassification) { - ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_IN_LANE, ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_LEFT, ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_RIGHT, ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_FAR_LEFT, ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_FAR_RIGHT -> 1 - ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_IN_LANE, ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_LEFT, ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_RIGHT, ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_FAR_LEFT, ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_FAR_RIGHT -> 2 - ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_IN_LANE, ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_LEFT, ObuConstants.TARGET_CLASSIFICATION.TC_INTERSECTION_LEFT, ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_FAR_LEFT -> 3 - ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_RIGHT, ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_FAR_RIGHT, ObuConstants.TARGET_CLASSIFICATION.TC_INTERSECTION_RIGHT -> 4 - ObuConstants.TARGET_CLASSIFICATION.TC_UNCLASSIFIED -> 1 - else -> 1 + ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_FAR_LEFT, ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_LEFT, ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_FAR_LEFT, + ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_LEFT, ObuConstants.TARGET_CLASSIFICATION.TC_INTERSECTION_LEFT -> 1 //左前方 + ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_LEFT, ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_FAR_LEFT -> 2 //左后方 + ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_RIGHT, ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_FAR_RIGHT, ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_FAR_RIGHT, + ObuConstants.TARGET_CLASSIFICATION.TC_INTERSECTION_RIGHT, ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_RIGHT -> 3 //右前方 + ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_RIGHT, ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_FAR_RIGHT -> 4 //右后方 + ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_IN_LANE, ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_IN_LANE -> 5 //正前方 + ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_IN_LANE -> 6 //正后方 + ObuConstants.TARGET_CLASSIFICATION.TC_UNCLASSIFIED -> 7 //未知 + else -> 7 } } @@ -168,10 +168,8 @@ class MogoPrivateObuManager private constructor() { return MogoObuConst.TYPE_CROSS_COLLISION_WARNING } else if (appid == ObuConstants.USE_CASE_ID.LTA) { //左转辅助 return MogoObuConst.TYPE_TURN_LEFT_WARN - } else if (appid == ObuConstants.USE_CASE_ID.BSW) { //盲区预警 + } else if (appid == ObuConstants.USE_CASE_ID.BSW || appid == ObuConstants.USE_CASE_ID.LCW) { //盲区预警和变道预警 return MogoObuConst.TYPE_BLIND_ASSIST_WARN - } else if (appid == ObuConstants.USE_CASE_ID.LCW) { //变道预警 - return MogoObuConst.TYPE_CHANGE_LANES_WARN } else if (appid == ObuConstants.USE_CASE_ID.DNPW) { //逆向超车预警 return MogoObuConst.TYPE_REVERSE_OVERTAKING_WARN } else if (appid == ObuConstants.USE_CASE_ID.FCW) { //前向碰撞预警 @@ -210,7 +208,7 @@ class MogoPrivateObuManager private constructor() { * * @param type TODO */ - private fun handleSdkObu(type: Int, level: Int) { + private fun handleSdkObu(type: Int, level: Int, directe: Int, status: Int) { var alertContent: String = "" var ttsContent: String = "" @@ -226,48 +224,70 @@ class MogoPrivateObuManager private constructor() { } else if (type == MogoObuConst.TYPE_TURN_LEFT_WARN) { //左转辅助 alertContent = MogoObuConst.TYPE_TURN_LEFT_WARN_TEXT ttsContent = MogoObuConst.TYPE_TURN_LEFT_WARN_VOICE_TEXT - } else if (type == MogoObuConst.TYPE_BLIND_ASSIST_WARN) { //盲区预警 + } else if (type == MogoObuConst.TYPE_BLIND_ASSIST_WARN) { //盲区预警/变道预警 alertContent = MogoObuConst.TYPE_BLIND_ASSIST_WARN_TEXT - ttsContent = MogoObuConst.TYPE_BLIND_ASSIST_WARN_VOICE_TEXT + if (directe == 2) { + ttsContent = MogoObuConst.TYPE_BLIND_ASSIST_WARN_VOICE_LEFT_TEXT + } else if (directe == 4) { + ttsContent = MogoObuConst.TYPE_BLIND_ASSIST_WARN_VOICE_RIGHT_TEXT + } } else if (type == MogoObuConst.TYPE_REVERSE_OVERTAKING_WARN) { //逆向超车预警 alertContent = MogoObuConst.TYPE_REVERSE_OVERTAKING_WARN_TEXT ttsContent = MogoObuConst.TYPE_REVERSE_OVERTAKING_WARN_VOICE_TEXT } else if (type == MogoObuConst.TYPE_UNUSUAL_CAR_WARN) { //异常车辆预警 alertContent = MogoObuConst.TYPE_UNUSUAL_CAR_WARN_TEXT - ttsContent = MogoObuConst.TYPE_UNUSUAL_CAR_WARN_VOICE_TEXT + if (directe == 1) { + ttsContent = MogoObuConst.TYPE_UNUSUAL_CAR_WARN_VOICE_LEFT_TEXT + } else if (directe == 3) { + ttsContent = MogoObuConst.TYPE_UNUSUAL_CAR_WARN_VOICE_RIGHT_TEXT + } else if (directe == 5) { + ttsContent = MogoObuConst.TYPE_UNUSUAL_CAR_WARN_VOICE_TEXT + } } else if (type == MogoObuConst.TYPE_CAR_OUT_OF_CONTROL_WARN) { //前车失控预警 alertContent = MogoObuConst.TYPE_CAR_OUT_OF_CONTROL_WARN_TEXT - ttsContent = MogoObuConst.TYPE_CAR_OUT_OF_CONTROL_WARN_VOICE_TEXT + if (directe == 1) { + ttsContent = MogoObuConst.TYPE_CAR_OUT_OF_CONTROL_WARN_VOICE_LEFT_TEXT + } else if (directe == 3) { + ttsContent = MogoObuConst.TYPE_CAR_OUT_OF_CONTROL_WARN_VOICE_RIGHT_TEXT + } else if (directe == 5) { + ttsContent = MogoObuConst.TYPE_CAR_OUT_OF_CONTROL_WARN_VOICE_TEXT + } } else if (type == MogoObuConst.TYPE_LIMIT_SPEED_WARN) { //限速预警 alertContent = MogoObuConst.TYPE_LIMIT_SPEED_WARN_TEXT ttsContent = MogoObuConst.TYPE_LIMIT_SPEED_WARN_VOICE_TEXT } else if (type == MogoObuConst.TYPE_UNUSUAL_ROAD_WARN) { //道路危险情况预警 alertContent = MogoObuConst.TYPE_UNUSUAL_ROAD_WARN_TEXT ttsContent = MogoObuConst.TYPE_UNUSUAL_ROAD_WARN_VOICE_TEXT - } else if (type == MogoObuConst.TYPE_BLOCK_WARN) { //前方拥堵提醒 + } else if (type == MogoObuConst.TYPE_BLOCK_WARN) { //前方拥堵提醒 TODO alertContent = MogoObuConst.TYPE_BLOCK_WARN_TEXT ttsContent = MogoObuConst.TYPE_BLOCK_WARN_VOICE_TEXT } else if (type == MogoObuConst.TYPE_PRESSING_CAR_WARN) { //紧急车辆预警 alertContent = MogoObuConst.TYPE_PRESSING_CAR_WARN_TEXT ttsContent = MogoObuConst.TYPE_PRESSING_CAR_WARN_VOICE_TEXT - } else if (type == MogoObuConst.TYPE_TRAFFIC_SIGN_INFO) { //交通标牌 + } else if (type == MogoObuConst.TYPE_TRAFFIC_SIGN_INFO) { //交通标牌 TODO - } else if (type == MogoObuConst.TYPE_ROAD_USER_COLLISION_WARNING) { //弱势交通群体 + } else if (type == MogoObuConst.TYPE_ROAD_USER_COLLISION_WARNING) { //弱势交通群体 TODO - } else if (type == MogoObuConst.TYPE_OPTIMAL_SPEED_ADVISORY) { //绿波车速引导 ? + } else if (type == MogoObuConst.TYPE_OPTIMAL_SPEED_ADVISORY) { //绿波车速引导 TODO alertContent = "" ttsContent = "" - } else if (type == MogoObuConst.TYPE_RUSH_RED_LIGHT) { //闯红灯预警 - + } else if (type == MogoObuConst.TYPE_RUSH_RED_LIGHT) { //闯红灯预警 TODO + alertContent = MogoObuConst.TYPE_RUSH_RED_LIGHT_TEXT + ttsContent = MogoObuConst.TYPE_RUSH_RED_LIGHT_VOICE_TEXT } //显示弹框,语音提示 - mIMoGoWaringProvider!!.showWarningV2X( - type, - alertContent, - if (level == 3) ttsContent else "", - type.toString() - ) + if (status == 1) { + mIMoGoWaringProvider!!.showWarningV2X( + type, + alertContent, + if (level == 3) ttsContent else "", + type.toString() + ) + } else if (status == 2) { + mIMoGoWaringProvider!!.disableWarningV2X(type.toString()) + } + } } \ No newline at end of file