From 46f54ce1bc62fd4ca139b924897d7b25a3f4a2c0 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Sun, 25 Oct 2020 17:28:54 +0800 Subject: [PATCH] opt left notice --- .idea/misc.xml | 2 +- .../extensions/utils/AdasNoticeHelper.java | 31 ++++++++++++++++-- .../extensions/utils/EntranceViewHolder.java | 2 ++ .../res/layout/module_ext_layout_entrance.xml | 16 ++++----- .../scene/help/V2XCarForHelpScenario.java | 4 +++ .../scene/seek/V2XSeekHelpScenario.java | 1 + .../module_v2x_left_notice_seek_help.png | Bin 0 -> 7025 bytes 7 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 modules/mogo-module-v2x/src/main/res/drawable-xhdpi/module_v2x_left_notice_seek_help.png diff --git a/.idea/misc.xml b/.idea/misc.xml index 2db9aab721..47f1a4e1d4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/AdasNoticeHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/AdasNoticeHelper.java index 13f5e84d6f..c38b718165 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/AdasNoticeHelper.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/AdasNoticeHelper.java @@ -9,14 +9,19 @@ import android.view.View; import android.widget.ImageView; import android.widget.TextView; +import com.mogo.module.common.MogoApisHandler; import com.mogo.module.extensions.R; +import com.mogo.service.adas.IMogoAdasWarnMessageCallback; +import com.mogo.service.adas.MogoADASWarnType; +import com.mogo.service.adas.entity.ADASWarnMessage; +import com.mogo.service.entrance.IMogoEntranceButtonController; /** * vr模式下,adas左侧提示框帮助类 * * @author tongchenfei */ -public class AdasNoticeHelper { +public class AdasNoticeHelper implements IMogoAdasWarnMessageCallback { private Context context; private AdasNoticeReceiver adasReceiver = new AdasNoticeReceiver(); @@ -27,11 +32,20 @@ public class AdasNoticeHelper { public void enterVrMode(){ IntentFilter filter = new IntentFilter("com.mogo.launcher.adas.app.biz"); context.registerReceiver(adasReceiver, filter); - // todo 注册adas事件回调 + MogoApisHandler.getInstance().getApis().getAdasControllerApi().addAdasWarnMessageCallback(this); } public void exitVrMode(){ context.unregisterReceiver(adasReceiver); + MogoApisHandler.getInstance().getApis().getAdasControllerApi().removeAdasWarnMessageCallback(this); + } + + @Override + public void onReceiveData(ADASWarnMessage msg) { + // 处理adas识别的时间,主要是行人碰撞预警 + if (msg.type == MogoADASWarnType.ADAS_WARNING_PERSON) { + MogoApisHandler.getInstance().getApis().getEntranceButtonController().showLeftNoticeByType(IMogoEntranceButtonController.NOTICE_TYPE_PEOPLE_WARN, R.drawable.module_ext_people_warn, "前方注意行人"); + } } /** @@ -43,6 +57,19 @@ public class AdasNoticeHelper { @Override public void onReceive(Context context, Intent intent) { // todo 处理发给adas的事件, 主要处理逆向超车和obu行人碰撞 + String id = intent.getStringExtra("v2x_warning_type"); + if (id != null) { + switch (id) { + case "100003": + MogoApisHandler.getInstance().getApis().getEntranceButtonController().showLeftNoticeByType(IMogoEntranceButtonController.NOTICE_TYPE_PEOPLE_WARN, R.drawable.module_ext_people_warn, "前方注意行人"); + break; + case "": + + break; + default: + break; + } + } } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/EntranceViewHolder.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/EntranceViewHolder.java index 064bf60460..07f63a0c3e 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/EntranceViewHolder.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/EntranceViewHolder.java @@ -192,6 +192,7 @@ public class EntranceViewHolder { } private void realShowLeftNoticeView(View view){ + leftNoticeContainer.setVisibility(View.VISIBLE); leftNoticeContainer.removeAllViews(); leftNoticeContainer.addView(view); preAddLeftNoticeView = null; @@ -199,6 +200,7 @@ public class EntranceViewHolder { private void realHideLeftNoticeView(View view) { leftNoticeContainer.removeView(view); + leftNoticeContainer.setVisibility(View.GONE); } public void release(){ diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml index 30d7774864..35021ce021 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml @@ -137,7 +137,13 @@ android:textColor="#fff" android:gravity="center" /> - + + app:layout_constraintLeft_toRightOf="@+id/module_ext_vr_mode_left_notice_container"> - - diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/help/V2XCarForHelpScenario.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/help/V2XCarForHelpScenario.java index ffce83b1a0..f8469eb617 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/help/V2XCarForHelpScenario.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/help/V2XCarForHelpScenario.java @@ -7,6 +7,7 @@ import android.widget.TextView; import androidx.annotation.Nullable; import com.mogo.module.common.entity.V2XMessageEntity; +import com.mogo.module.v2x.R; import com.mogo.module.v2x.V2XConst; import com.mogo.module.v2x.V2XServiceManager; import com.mogo.module.v2x.scenario.impl.AbsV2XScenario; @@ -15,6 +16,7 @@ import com.mogo.module.v2x.voice.V2XVoiceCallbackListener; import com.mogo.module.v2x.voice.V2XVoiceConstants; import com.mogo.module.v2x.voice.V2XVoiceManager; import com.mogo.service.entrance.ButtonIndex; +import com.mogo.service.entrance.IMogoEntranceButtonController; import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.utils.logger.Logger; @@ -109,6 +111,7 @@ public class V2XCarForHelpScenario extends AbsV2XScenario implements IM if (getV2XButton() != null) { getV2XButton().setOnActionListener(this::showDialog); getV2XButton().show(); + V2XServiceManager.getMogoEntranceButtonController().showLeftNoticeByType(IMogoEntranceButtonController.NOTICE_TYPE_SEEK_HELP, R.drawable.module_v2x_left_notice_seek_help, "正在发起求助..."); } }); } @@ -117,6 +120,7 @@ public class V2XCarForHelpScenario extends AbsV2XScenario implements IM public void closeButton() { if (V2XServiceManager.getMoGoStatusManager().isSeekHelping()) { Logger.d(TAG, "关闭自车求助按钮!"); + V2XServiceManager.getMogoEntranceButtonController().hideLeftNoticeByType(IMogoEntranceButtonController.NOTICE_TYPE_SEEK_HELP); V2XServiceManager.getMoGoStatusManager().setSeekHelping(TAG, false); if (getV2XButton() != null) { getV2XButton().close(); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/seek/V2XSeekHelpScenario.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/seek/V2XSeekHelpScenario.java index 10da5513fe..be9df8a6fe 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/seek/V2XSeekHelpScenario.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/seek/V2XSeekHelpScenario.java @@ -15,6 +15,7 @@ import com.mogo.module.v2x.entity.net.V2XSpecialCarRes.V2XMarkerEntity; import com.mogo.module.v2x.scenario.impl.AbsV2XScenario; import com.mogo.module.v2x.utils.ADASUtils; import com.mogo.module.v2x.utils.V2XUtils; +import com.mogo.service.entrance.IMogoEntranceButtonController; import com.mogo.service.windowview.IMogoTopViewStatusListener; import com.mogo.utils.logger.Logger; diff --git a/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/module_v2x_left_notice_seek_help.png b/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/module_v2x_left_notice_seek_help.png new file mode 100644 index 0000000000000000000000000000000000000000..00c0cab6db5ac1a4a23e4284905d096dabeaa16d GIT binary patch literal 7025 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 literal 0 HcmV?d00001