修复红色边框的展示位置异常问题
This commit is contained in:
@@ -1,5 +1,13 @@
|
||||
package com.zhidao.mogo.module.main.launcher;
|
||||
|
||||
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_NON;
|
||||
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_BOTTOM;
|
||||
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_BOTTOM_LEFT;
|
||||
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_BOTTOM_RIGHT;
|
||||
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_LEFT;
|
||||
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_RIGHT;
|
||||
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_TOP;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
@@ -25,13 +33,6 @@ import com.mogo.service.statusmanager.StatusDescriptor;
|
||||
import com.mogo.service.v2x.IV2XWarningListener;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_BOTTOM;
|
||||
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_BOTTOM_LEFT;
|
||||
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_BOTTOM_RIGHT;
|
||||
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_LEFT;
|
||||
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_RIGHT;
|
||||
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_TOP;
|
||||
|
||||
/**
|
||||
* 针对作为Launcher的情况,做个性化操作
|
||||
*
|
||||
@@ -178,6 +179,12 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
|
||||
Log.d(TAG, "显示红色预警蒙层");
|
||||
Log.d("MogoObu", "显示红色预警蒙层 ------> type = " + type);
|
||||
switch (type) {
|
||||
case ALERT_THE_FRONT_CRASH_WARNING_NON:
|
||||
mWarningTop.setVisibility(View.GONE);
|
||||
mWarningLeft.setVisibility(View.GONE);
|
||||
mWarningRight.setVisibility(View.GONE);
|
||||
mWarningBottom.setVisibility(View.GONE);
|
||||
break;
|
||||
case ALERT_THE_FRONT_CRASH_WARNING_TOP:
|
||||
mWarningTop.setVisibility(View.VISIBLE);
|
||||
mWarningLeft.setVisibility(View.GONE);
|
||||
@@ -200,22 +207,36 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
|
||||
startCountDownWithView(mWarningRight);
|
||||
break;
|
||||
case ALERT_THE_FRONT_CRASH_WARNING_BOTTOM:
|
||||
case ALERT_THE_FRONT_CRASH_WARNING_BOTTOM_LEFT:
|
||||
case ALERT_THE_FRONT_CRASH_WARNING_BOTTOM_RIGHT:
|
||||
mWarningBottom.setVisibility(View.VISIBLE);
|
||||
mWarningRight.setVisibility(View.GONE);
|
||||
mWarningTop.setVisibility(View.GONE);
|
||||
mWarningLeft.setVisibility(View.GONE);
|
||||
startCountDownWithView(mWarningBottom);
|
||||
break;
|
||||
case ALERT_THE_FRONT_CRASH_WARNING_BOTTOM_LEFT:
|
||||
mWarningBottom.setVisibility(View.VISIBLE);
|
||||
mWarningRight.setVisibility(View.GONE);
|
||||
mWarningTop.setVisibility(View.GONE);
|
||||
mWarningLeft.setVisibility(View.VISIBLE);
|
||||
startCountDownWithView(mWarningBottom);
|
||||
startCountDownWithView(mWarningLeft);
|
||||
break;
|
||||
case ALERT_THE_FRONT_CRASH_WARNING_BOTTOM_RIGHT:
|
||||
mWarningBottom.setVisibility(View.VISIBLE);
|
||||
mWarningRight.setVisibility(View.VISIBLE);
|
||||
mWarningTop.setVisibility(View.GONE);
|
||||
mWarningLeft.setVisibility(View.GONE);
|
||||
startCountDownWithView(mWarningBottom);
|
||||
startCountDownWithView(mWarningRight);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* 预警蒙层显示时间为3秒
|
||||
* */
|
||||
*/
|
||||
private void startCountDownWithView(ImageView view) {
|
||||
if (runnableV2XEvent == null) {
|
||||
runnableV2XEvent = () -> {
|
||||
|
||||
@@ -147,6 +147,8 @@ public class V2XMessageEntity<T> implements Serializable {
|
||||
int ALERT_RECOMMEND_PARKING = 1_012;
|
||||
// 弱势交通参与者401018
|
||||
int ALERT_THE_FRONT_WEAKNESS = 40_1018;
|
||||
// 关闭红色边框预警
|
||||
int ALERT_THE_FRONT_CRASH_WARNING_NON = 0;
|
||||
// 前方行人碰撞预警
|
||||
int ALERT_THE_FRONT_CRASH_WARNING_TOP = 1;
|
||||
// 后方碰撞预警
|
||||
|
||||
@@ -263,6 +263,10 @@ class MogoPrivateObuManager private constructor() {
|
||||
}
|
||||
// 删除
|
||||
ObuConstants.STATUS.DELETE -> {
|
||||
//关闭警告红边
|
||||
mMogoServiceApis!!.v2XListenerManager.warningChangedForListenerWithDirection(
|
||||
0, "ACTION_V2X_FRONT_WARNING"
|
||||
)
|
||||
// 移除顶部弹窗
|
||||
mIMoGoWaringProvider?.disableWarningV2X(appId.toString())
|
||||
// 更新数据
|
||||
@@ -274,6 +278,10 @@ class MogoPrivateObuManager private constructor() {
|
||||
}
|
||||
// 更新
|
||||
else -> {
|
||||
//显示警告红边
|
||||
mMogoServiceApis!!.v2XListenerManager.warningChangedForListenerWithDirection(
|
||||
direction, "ACTION_V2X_FRONT_WARNING"
|
||||
)
|
||||
// 更新数据
|
||||
TrafficDataConvertUtils.cvxRtiThreatIndInfo2TrafficData(info)?.let {
|
||||
TrafficMarkerDrawer.updateITrafficInfo(it)
|
||||
@@ -349,6 +357,10 @@ class MogoPrivateObuManager private constructor() {
|
||||
}
|
||||
// 删除
|
||||
ObuConstants.STATUS.DELETE -> {
|
||||
//关闭警告红边
|
||||
mMogoServiceApis!!.v2XListenerManager.warningChangedForListenerWithDirection(
|
||||
0, "ACTION_V2X_FRONT_WARNING"
|
||||
)
|
||||
// 更新数据
|
||||
TrafficDataConvertUtils.cvxPtcThreatIndInfo2TrafficData(info)?.let {
|
||||
// 事件结束,还原交通参与者颜色
|
||||
@@ -359,6 +371,12 @@ class MogoPrivateObuManager private constructor() {
|
||||
}
|
||||
// 更新
|
||||
else -> {
|
||||
val direction = 1
|
||||
//显示警告红边
|
||||
mMogoServiceApis!!.v2XListenerManager.warningChangedForListenerWithDirection(
|
||||
direction,
|
||||
"ACTION_V2X_FRONT_WARNING"
|
||||
)
|
||||
// 更新数据
|
||||
TrafficDataConvertUtils.cvxPtcThreatIndInfo2TrafficData(info)?.let {
|
||||
TrafficMarkerDrawer.updateITrafficThreatLevelInfo(it)
|
||||
@@ -425,16 +443,31 @@ class MogoPrivateObuManager private constructor() {
|
||||
*/
|
||||
private fun getMessageDirection(targetClassification: Int): Int {
|
||||
return when (targetClassification) {
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_IN_LANE, ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_IN_LANE -> 1 //正前方
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_RIGHT, ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_FAR_RIGHT, ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_FAR_RIGHT,
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_IN_LANE,
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_IN_LANE -> 1 //正前方
|
||||
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_IN_LANE -> 2 //正后方
|
||||
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 -> 3 //左前方
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_INTERSECTION_RIGHT, ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_RIGHT -> 4 //右前方
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_LEFT, ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_FAR_LEFT -> 5 //左后方 弹框目前后方分为左后,右后,正后方
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_RIGHT, ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_FAR_RIGHT -> 6 //右后方
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_UNCLASSIFIED -> 0 //未知
|
||||
else -> 7
|
||||
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_LEFT,
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_FAR_LEFT,
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_LEFT,
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_FAR_LEFT,
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_INTERSECTION_LEFT -> 3 //左前方
|
||||
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_FAR_RIGHT,
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_FAR_RIGHT,
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_AHEAD_RIGHT,
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_INTERSECTION_RIGHT,
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_ONCOMING_RIGHT -> 4 //右前方
|
||||
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_LEFT,
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_FAR_LEFT -> 5 //左后方 弹框目前后方分为左后,右后,正后方
|
||||
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_RIGHT,
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_FAR_RIGHT -> 6 //右后方
|
||||
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_UNCLASSIFIED -> -1 //未知
|
||||
else -> 0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -448,7 +481,6 @@ class MogoPrivateObuManager private constructor() {
|
||||
0x03 -> 4 //右侧
|
||||
0x04 -> 1 //前方
|
||||
0x05 -> 2 //后方
|
||||
|
||||
else -> 7
|
||||
}
|
||||
|
||||
@@ -692,6 +724,10 @@ class MogoPrivateObuManager private constructor() {
|
||||
// 删除
|
||||
ObuConstants.STATUS.DELETE -> {
|
||||
isStrikeTts = false
|
||||
//关闭警告红边
|
||||
mMogoServiceApis!!.v2XListenerManager.warningChangedForListenerWithDirection(
|
||||
0, "ACTION_V2X_FRONT_WARNING"
|
||||
)
|
||||
// 移除顶部弹窗
|
||||
mIMoGoWaringProvider?.disableWarningV2X(appId.toString())
|
||||
//更新周边车辆进行预警颜色变换,车辆实时移动和变色
|
||||
@@ -702,6 +738,10 @@ class MogoPrivateObuManager private constructor() {
|
||||
}
|
||||
// 更新
|
||||
else -> {
|
||||
//显示警告红边
|
||||
mMogoServiceApis!!.v2XListenerManager.warningChangedForListenerWithDirection(
|
||||
direction, "ACTION_V2X_FRONT_WARNING"
|
||||
)
|
||||
if (!isStrikeTts) {
|
||||
AIAssist.getInstance(mContext).speakTTSVoice(ttsContent)
|
||||
isStrikeTts = true
|
||||
|
||||
Reference in New Issue
Block a user