diff --git a/config.gradle b/config.gradle index 40fc573a16..9bcd878a53 100644 --- a/config.gradle +++ b/config.gradle @@ -169,7 +169,7 @@ ext { // obu sdk obusdk : "com.zhidao.enterprise.smartv2x:smartv2x:1.0.0.3", - mebulaobu : 'com.zhidao.support.nebulaobu:nebulaobu:1.0.0.1', + mebulaobu : 'com.zhidao.support.nebulaobu:nebulaobu:1.0.0.3', // 左侧面板 moduleleftpanel : "com.mogo.module:module-left-panel:${MOGO_MODULE_LEFT_PANEL_VERSION}", // 左侧面板空实现 diff --git a/modules/mogo-module-common/src/main/res/values-xhdpi-2560x1600/dimens.xml b/modules/mogo-module-common/src/main/res/values-xhdpi-2560x1600/dimens.xml index b693e5557c..038dc5a7eb 100644 --- a/modules/mogo-module-common/src/main/res/values-xhdpi-2560x1600/dimens.xml +++ b/modules/mogo-module-common/src/main/res/values-xhdpi-2560x1600/dimens.xml @@ -6,4 +6,10 @@ 106px 52px 37px + 435px + 186px + 133px + 37px + 27px + diff --git a/modules/mogo-module-common/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-common/src/main/res/values-xhdpi/dimens.xml index c81c22f39e..c43fe754e8 100644 --- a/modules/mogo-module-common/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-common/src/main/res/values-xhdpi/dimens.xml @@ -1128,6 +1128,10 @@ 100px 28px 28px - + 320px + 140px + 28px + 20px + 100px diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index 1f19e955e8..d5fe0f553b 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -1332,7 +1332,6 @@ public class EntranceFragment extends MvpFragment "); //使用adas部门obu sdk (星云) -// NebulaObuClient.getInstance().init(context); -// NebulaObuClient.getInstance().registerObu(100); -// NebulaObuClient.getInstance().registerObuListener(listener); + NebulaObuClient.getInstance().init(context); + NebulaObuClient.getInstance().registerObu(100); + NebulaObuClient.getInstance().registerObuListener(listener); IntentFilter filter = new IntentFilter("com.mogo.launcher.v2x.action.EXCHANGE_OBU_TYPE"); context.registerReceiver(obuTypeExchangeReceiver, filter); } -// public void release() { -// NebulaObuClient.getInstance().unregisterObu(); -// NebulaObuClient.getInstance().unregisterObuListener(); -// } + public void release() { + NebulaObuClient.getInstance().unregisterObu(); + NebulaObuClient.getInstance().unregisterObuListener(); + } /** * 星云obu数据监听 */ -// private OnObuListener listener = new OnObuListener() { -// @Override -// public void onRegister() { -// Log.d("liyz", "onRegister ------> "); -// } -// -// @Override -// public void onConnectFail(boolean isNeedReconnect) { -// Log.d("liyz", "onConnectFail ------> "); -// } -// -// @Override -// public void onUnregister() { -// Log.d("liyz", "onUnregister ------> "); -// } -// -// @Override -// public void onObuInfo(ObuInfo info) { -// Log.d("liyz", "onObuInfo ------> "); -// } -// -// @Override -// public void onWarningInfo(List infoList) { -// Log.d("liyz", "onWarningInfo ------> "); -// } -// }; + private OnObuListener listener = new OnObuListener() { + @Override + public void onRegister() { + } + @Override + public void onConnectFail(boolean isNeedReconnect) { + Logger.d("liyz", "onConnectFail ------> "); + } + + @Override + public void onUnregister() { + } + + @Override + public void onObuInfo(ObuInfo info) { + Logger.d("liyz", "onObuInfo ------> " + info.toString()); + } + + @Override + public void onWarningInfo(List infoList) { + if (infoList != null) { + if (infoList.size() > 0) { //一般只有一个 + ActiveSafetyInfo info = infoList.get(0); + Logger.d("liyz", "onWarningInfo type ------> " + info.getWarningtype() + "--size = " + infoList.size()); + if (info.getWarningtype() == 3) { + if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) { + handleSdkObu(); + } + } + } + } + } + }; + + private void handleSdkObu() { + V2XMessageEntity messageEntity = new V2XMessageEntity<>(); + messageEntity.setType(V2XMessageEntity.V2XTypeEnum.ALERT_OBU_EVENT); + + // 前车紧急制动预警 + V2XObuEventEntity urgencyEvent = new V2XObuEventEntity(); + urgencyEvent.setType(ObuConstant.TYPE_URGENCY_COLLISION_WARNING); + urgencyEvent.setDesc(V2XObuEventScenario.URGENCY_COLLISION_WARN_TEXT); + messageEntity.setContent(urgencyEvent); + V2XObuEventScenario.getInstance().init(messageEntity); + } /** * 用来处理30秒内不重复播报的情况 diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/V2XObuEventScenario.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/V2XObuEventScenario.java index 73e9af43d4..8cec04c52e 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/V2XObuEventScenario.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/V2XObuEventScenario.java @@ -5,6 +5,7 @@ import android.graphics.Color; import android.os.Handler; import android.os.Looper; import android.os.Message; +import android.util.Log; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.voice.AIAssist; @@ -20,6 +21,7 @@ import com.mogo.module.v2x.V2XServiceManager; import com.mogo.module.v2x.listener.V2XWindowStatusListener; import com.mogo.module.v2x.scenario.impl.AbsV2XScenario; import com.mogo.module.v2x.utils.DrivingDirectionUtils; +import com.mogo.module.v2x.utils.ToastUtils; import com.mogo.utils.logger.Logger; import com.zhidao.mogo.module.obu.ObuConstant; import com.zhidao.mogo.module.obu.obu.bean.MogoObuEventInfo; @@ -40,7 +42,8 @@ import static com.mogo.module.v2x.V2XConst.MODULE_NAME; */ public class V2XObuEventScenario extends AbsV2XScenario implements Handler.Callback { - public static final String URGENCY_COLLISION_WARN_TEXT = "前车急刹,注意保持安全距离!"; + public static final String URGENCY_COLLISION_WARN_TEXT_ONE = "前车急刹,注意保持安全距离!"; + public static final String URGENCY_COLLISION_WARN_TEXT = "前车急刹"; private static final int MSG_CLOSE_OBU_WINDOW = 1001; private static final int DEFAULT_EXPIRE_TIME = 20_000; @@ -118,7 +121,7 @@ public class V2XObuEventScenario extends AbsV2XScenario imple */ @Override public void show() { - AIAssist.getInstance(V2XServiceManager.getContext()).speakTTSVoice(getV2XMessageEntity().getContent().getDesc()); + AIAssist.getInstance(V2XServiceManager.getContext()).speakTTSVoice(URGENCY_COLLISION_WARN_TEXT_ONE); showWindow(); if (handler.hasMessages(MSG_CLOSE_OBU_WINDOW)) { handler.removeMessages(MSG_CLOSE_OBU_WINDOW); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/V2XObuEventWindow.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/V2XObuEventWindow.java index 5b686a320c..fca42116b3 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/V2XObuEventWindow.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/V2XObuEventWindow.java @@ -17,6 +17,7 @@ import com.mogo.module.v2x.R; import com.mogo.module.v2x.V2XServiceManager; import com.mogo.module.v2x.listener.V2XWindowStatusListener; import com.mogo.module.v2x.scenario.view.IV2XWindow; +import com.mogo.module.v2x.utils.ToastUtils; import com.mogo.service.windowview.IMogoTopViewStatusListener; import com.mogo.utils.logger.Logger; import com.zhidao.mogo.module.obu.ObuConstant; @@ -47,7 +48,7 @@ public class V2XObuEventWindow extends FrameLayout implements IV2XWindow + + + + + + + + + + \ No newline at end of file