opt
This commit is contained in:
@@ -101,7 +101,6 @@ public class OchBusFragment extends BaseOchFragment< OchBusFragment, OchBusPrese
|
||||
getActivity().runOnUiThread( () -> {
|
||||
if ( stationList == null ) {
|
||||
// 获取小巴数据失败
|
||||
Logger.e("liyz", " stationList == null ");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -164,7 +163,6 @@ public class OchBusFragment extends BaseOchFragment< OchBusFragment, OchBusPrese
|
||||
} else if ( isArriveAtStation ) {
|
||||
showSlidePanle( "滑动出发" );
|
||||
}
|
||||
Logger.d("liyz", "renderCurrentStationStatus -----> ");
|
||||
mCurrentStationName.setText( currentStationName );
|
||||
mNextStationName.setText( nextStationName );
|
||||
mStartStationFlag.setVisibility( startStationFlagVisibility );
|
||||
|
||||
@@ -96,7 +96,6 @@ public class OchBusPresenter extends Presenter< OchBusFragment > implements IMog
|
||||
public void onCreate( @NonNull LifecycleOwner owner ) {
|
||||
super.onCreate( owner );
|
||||
Log.d(TAG, "onCreate ------> ");
|
||||
Log.d("liyz", "onCreate ------> ");
|
||||
queryOperationStatus();
|
||||
queryBusRoutes();
|
||||
}
|
||||
@@ -106,7 +105,6 @@ public class OchBusPresenter extends Presenter< OchBusFragment > implements IMog
|
||||
*/
|
||||
public void queryBusRoutes() {
|
||||
Logger.d( TAG, "查询小巴路线");
|
||||
Logger.d( "liyz", "查询小巴路线------->");
|
||||
|
||||
double lat = 40.1974932972;
|
||||
double lon = 116.7354579447;
|
||||
@@ -122,16 +120,13 @@ public class OchBusPresenter extends Presenter< OchBusFragment > implements IMog
|
||||
@Override
|
||||
public void onSuccess( OchBusRoutesResponse o ) {
|
||||
super.onSuccess( o );
|
||||
Logger.d( "liyz", "-----1-------- o =" + o);
|
||||
if ( o == null
|
||||
|| o.getResult() == null
|
||||
|| o.getResult().getSite() == null
|
||||
|| o.getResult().getSite().isEmpty() ) {
|
||||
Logger.e( "liyz", "-----2-------- ");
|
||||
return;
|
||||
}
|
||||
Logger.d( TAG, "获取到小巴路线数据: " + o );
|
||||
Logger.d( "liyz", "获取到小巴路线数据: " + o );
|
||||
renderBusStationsStatus( o.getResult().getSite() );
|
||||
}
|
||||
|
||||
@@ -139,7 +134,6 @@ public class OchBusPresenter extends Presenter< OchBusFragment > implements IMog
|
||||
public void onError( Throwable e ) {
|
||||
super.onError( e );
|
||||
Logger.e( TAG, e, "获取小巴路线图失败" );
|
||||
Logger.d( "liyz", "获取小巴路线图失败 ");
|
||||
// 重复请求小巴路线,直至成功
|
||||
queryBusStationDelay();
|
||||
}
|
||||
@@ -148,7 +142,6 @@ public class OchBusPresenter extends Presenter< OchBusFragment > implements IMog
|
||||
public void onError( String message, int code ) {
|
||||
super.onError( message, code );
|
||||
Logger.e( TAG, "获取小巴路线失败 code: " + code + " msg: " + message );
|
||||
Logger.e( "liyz", "获取小巴路线失败 code: " + code + " msg: " + message );
|
||||
// 重复请求小巴路线,直至成功
|
||||
queryBusStationDelay();
|
||||
}
|
||||
@@ -162,7 +155,6 @@ public class OchBusPresenter extends Presenter< OchBusFragment > implements IMog
|
||||
*/
|
||||
private void renderBusStationsStatus( List< OchBusStation > site ) {
|
||||
Logger.d( TAG, "渲染站点信息");
|
||||
Logger.e( "liyz", "渲染站点信息");
|
||||
|
||||
int lastStopStation = getNextStopStation();
|
||||
|
||||
|
||||
@@ -26,6 +26,8 @@ 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;
|
||||
@@ -197,6 +199,8 @@ 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);
|
||||
|
||||
@@ -155,6 +155,11 @@ public class V2XMessageEntity<T> implements Serializable {
|
||||
int ALERT_THE_FRONT_CRASH_WARNING_LEFT = 3;
|
||||
// 右前方碰撞预警
|
||||
int ALERT_THE_FRONT_CRASH_WARNING_RIGHT = 4;
|
||||
// 左后方碰撞预警
|
||||
int ALERT_THE_FRONT_CRASH_WARNING_BOTTOM_LEFT = 5;
|
||||
// 右后方碰撞预警
|
||||
int ALERT_THE_FRONT_CRASH_WARNING_BOTTOM_RIGHT = 6;
|
||||
|
||||
// 推送VR消息展示
|
||||
int ALERT_PUSH_VR_SHOW = 2_000;
|
||||
// 自车求助
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mogo.module.obu.mogo
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.module.common.drawer.TrafficMarkerDrawer
|
||||
import com.mogo.module.common.enums.WarningTypeEnum
|
||||
@@ -145,7 +146,7 @@ class MogoPrivateObuManager private constructor() {
|
||||
ObuConstants.STATUS.ADD -> {
|
||||
//显示警告红边
|
||||
mMogoServiceApis!!.v2XListenerManager.warningChangedForListenerWithDirection(
|
||||
getMessageDirection(5),
|
||||
getOtherObjDirection(if (info.ext_info != null) info.ext_info.pos_classification else 7 ),
|
||||
"ACTION_V2X_FRONT_WARNING"
|
||||
)
|
||||
//显示弹框,语音提示
|
||||
@@ -224,7 +225,7 @@ class MogoPrivateObuManager private constructor() {
|
||||
ObuConstants.STATUS.ADD -> {
|
||||
//显示警告红边
|
||||
mMogoServiceApis!!.v2XListenerManager.warningChangedForListenerWithDirection(
|
||||
getMessageDirection(5),
|
||||
getOtherObjDirection(if (!info.threat_exts.isNullOrEmpty()) info.threat_exts[0].pos_classification else 7),
|
||||
"ACTION_V2X_FRONT_WARNING"
|
||||
)
|
||||
val ttsContent = WarningTypeEnum.getWarningTts(appId)
|
||||
@@ -282,10 +283,30 @@ class MogoPrivateObuManager private constructor() {
|
||||
TrafficDataConvertUtils.cvxPtcInfoIndInfo2TrafficData(info)?.let {
|
||||
TrafficMarkerDrawer.updateITrafficInfo(it)
|
||||
}
|
||||
|
||||
var ttsContent = ""
|
||||
var alertContent = ""
|
||||
ttsContent = WarningTypeEnum.getWarningTts(ObuConstants.USE_CASE_ID.VRUCW)
|
||||
alertContent = WarningTypeEnum.getWarningContent(ObuConstants.USE_CASE_ID.VRUCW)
|
||||
if (info.ptc_type == 1) { //摩托车
|
||||
ttsContent = String.format(ttsContent, "摩托车")
|
||||
alertContent = String.format(alertContent, "摩托车")
|
||||
} else if (info.ptc_type == 2) { //行人
|
||||
ttsContent = String.format(ttsContent, "行人")
|
||||
alertContent = String.format(alertContent, "行人")
|
||||
}
|
||||
|
||||
mIMoGoWaringProvider!!.showWarningV2X(
|
||||
ObuConstants.USE_CASE_ID.VRUCW,
|
||||
alertContent,
|
||||
ttsContent,
|
||||
ObuConstants.USE_CASE_ID.VRUCW.toString()
|
||||
)
|
||||
}
|
||||
// 删除
|
||||
ObuConstants.STATUS.DELETE -> {
|
||||
TrafficMarkerDrawer.removeCvxRvInfoIndInfo(info.id)
|
||||
mIMoGoWaringProvider?.disableWarningV2X(ObuConstants.USE_CASE_ID.VRUCW.toString())
|
||||
}
|
||||
// 更新
|
||||
else -> {
|
||||
@@ -349,23 +370,38 @@ 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_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 -> 2 //左后方 弹框目前后方分为左后,右后,正后方
|
||||
ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_RIGHT, ObuConstants.TARGET_CLASSIFICATION.TC_BEHIND_FAR_RIGHT -> 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_BEHIND_IN_LANE -> 2 //正后方
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取道路其他 的方位
|
||||
*/
|
||||
private fun getOtherObjDirection(posClassification: Int): Int {
|
||||
return when(posClassification) {
|
||||
0x01 -> 0 //事件中
|
||||
0x02 -> 3 //左侧
|
||||
0x03 -> 4 //右侧
|
||||
0x04 -> 1 //前方
|
||||
0x05 -> 2 //后方
|
||||
|
||||
else -> 7
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun release() {
|
||||
MogoObuManager.getInstance().unregisterListener()
|
||||
@@ -416,7 +452,7 @@ class MogoPrivateObuManager private constructor() {
|
||||
0x1 -> {
|
||||
//显示警告红边
|
||||
mMogoServiceApis!!.v2XListenerManager.warningChangedForListenerWithDirection(
|
||||
getMessageDirection(5),
|
||||
1,
|
||||
"ACTION_V2X_FRONT_WARNING"
|
||||
)
|
||||
mIMoGoWaringProvider?.showWarningTrafficLight(1)
|
||||
@@ -482,9 +518,9 @@ class MogoPrivateObuManager private constructor() {
|
||||
WarningTypeEnum.TYPE_USECASE_ID_LCW.useCaseId -> {
|
||||
alertContent = WarningTypeEnum.getWarningContent(appId)
|
||||
ttsContent = WarningTypeEnum.getWarningTts(appId)
|
||||
if (direction == 2) {
|
||||
if (direction == 5) {
|
||||
ttsContent = String.format(ttsContent, "左")
|
||||
} else if (direction == 4) else {
|
||||
} else if (direction == 6) else {
|
||||
ttsContent = String.format(ttsContent, "右")
|
||||
}
|
||||
}
|
||||
@@ -494,13 +530,13 @@ class MogoPrivateObuManager private constructor() {
|
||||
alertContent = WarningTypeEnum.getWarningContent(appId)
|
||||
ttsContent = WarningTypeEnum.getWarningTts(appId)
|
||||
when (direction) {
|
||||
1 -> { //左前
|
||||
3 -> { //左前
|
||||
ttsContent = String.format(ttsContent, "左")
|
||||
}
|
||||
3 -> { //右前
|
||||
4 -> { //右前
|
||||
ttsContent = String.format(ttsContent, "右")
|
||||
}
|
||||
5 -> { //正前
|
||||
1 -> { //正前
|
||||
ttsContent = alertContent
|
||||
}
|
||||
}
|
||||
@@ -511,13 +547,13 @@ class MogoPrivateObuManager private constructor() {
|
||||
alertContent = WarningTypeEnum.getWarningContent(appId)
|
||||
ttsContent = WarningTypeEnum.getWarningTts(appId)
|
||||
when (direction) {
|
||||
1 -> { //左前
|
||||
3 -> { //左前
|
||||
ttsContent = String.format(ttsContent, "左")
|
||||
}
|
||||
3 -> { //右前
|
||||
4 -> { //右前
|
||||
ttsContent = String.format(ttsContent, "右")
|
||||
}
|
||||
5 -> { //正前
|
||||
1 -> { //正前
|
||||
ttsContent = alertContent
|
||||
}
|
||||
}
|
||||
@@ -526,9 +562,9 @@ class MogoPrivateObuManager private constructor() {
|
||||
//盲区预警
|
||||
WarningTypeEnum.TYPE_USECASE_ID_BSW.useCaseId -> {
|
||||
ttsContent = WarningTypeEnum.getWarningTts(appId)
|
||||
if (direction == 2) {
|
||||
if (direction == 5) { //左后
|
||||
ttsContent = String.format(ttsContent, "左")
|
||||
} else if (direction == 4) else {
|
||||
} else if (direction == 6) else { //右后
|
||||
ttsContent = String.format(ttsContent, "右")
|
||||
}
|
||||
alertContent = WarningTypeEnum.getWarningContent(appId)
|
||||
|
||||
@@ -73,9 +73,8 @@ class ObuRsuTestTriggerReceiver : BroadcastReceiver() {
|
||||
//弱势交通参与者碰撞预警,行人/摩托车碰撞预警
|
||||
ObuConstants.USE_CASE_ID.VRUCW -> {
|
||||
val cvxPtcIndInfo = CvxPtcInfoIndInfo(1,1,1)
|
||||
|
||||
val position = Position(0, 399739429, 1164115207, 20)
|
||||
val movingObjectInfo = MovingObjectInfo(0, position, 1800, 6000)
|
||||
val position = Position(1, 399739429, 1164115207, 20)
|
||||
val movingObjectInfo = MovingObjectInfo(1, position, 1800, 6000)
|
||||
cvxPtcIndInfo.basic_info = movingObjectInfo
|
||||
cvxPtcIndInfo.id = "111"
|
||||
cvxPtcIndInfo.ptc_type = pctType
|
||||
@@ -96,6 +95,8 @@ class ObuRsuTestTriggerReceiver : BroadcastReceiver() {
|
||||
MogoPrivateObuManager.INSTANCE.getMogoObuListener().onCvxRtiThreatIndInfo(cvxRtiThreatIndInfo)
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -114,11 +114,9 @@ public class V2XObuEventScenario extends AbsV2XScenario<V2XObuEventEntity> imple
|
||||
}
|
||||
} else if (v2XMessageEntity.getContent().getType() == ObuConstant.TYPE_CROSS_COLLISION_WARNING && !isCrossWarning) {
|
||||
AIAssist.getInstance(V2XServiceManager.getContext()).speakTTSVoice(URGENCY_CROING_WARN_TEXT);
|
||||
Log.d("liyz", "jiao cha lu kou---->");
|
||||
isCrossWarning = true;
|
||||
} else if (v2XMessageEntity.getContent().getType() == ObuConstant.TYPE_URGENCY_COLLISION_WARNING && !isUrgenchyWarning) {
|
||||
AIAssist.getInstance(V2XServiceManager.getContext()).speakTTSVoice(URGENCY_COLLISION_WARN_TEXT_ONE);
|
||||
Log.d("liyz", " jin ji zhi dong---->");
|
||||
isUrgenchyWarning = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -66,7 +66,6 @@ public class V2XObuEventWindow extends FrameLayout implements IV2XWindow<V2XObuE
|
||||
@Override
|
||||
public void show(V2XObuEventEntity entity) {
|
||||
Logger.d(MODULE_NAME, "ObuEventWindow show " + entity);
|
||||
Logger.d("liyz", "ObuEventWindow show " + entity);
|
||||
switch (entity.getType()) {
|
||||
case ObuConstant
|
||||
.TYPE_OPTIMAL_SPEED_ADVISORY:
|
||||
|
||||
Reference in New Issue
Block a user