fixed conflict

This commit is contained in:
lixiaopeng
2021-08-09 16:56:53 +08:00
parent 9cc8d3aa6e
commit 744c625728
3 changed files with 86 additions and 64 deletions

View File

@@ -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}",

View File

@@ -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 = "前方道路拥堵";

View File

@@ -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())
}
}
}