From 636b29b1275b35feb313d027d619586278960f53 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Mon, 28 Nov 2022 17:31:50 +0800 Subject: [PATCH] [2.13.0]notice push data to msgbox and provider the call of hmi --- .../eagle/core/function/hmi/WaringConst.java | 4 - .../core/function/hmi/ui/MoGoHmiFragment.kt | 151 ++++++------------ .../hmi/ui/notice/NoticeBannerView.java | 21 +-- .../hmi/ui/notice/NoticeCheckDialog.kt | 2 - .../hmi/ui/notice/NoticeNormalBannerView.java | 3 - .../hmi/ui/setting/DebugSettingView.kt | 2 + .../hmi/ui/widget/SpeedChartView.java | 1 - .../main/res/layout/view_debug_setting.xml | 10 ++ .../identify/TrackerSourceColorHelper.kt | 49 +++++- .../function/notice/NoticeSocketManager.java | 6 +- .../function/call/hmi/CallerHmiManager.kt | 2 - 11 files changed, 112 insertions(+), 139 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/WaringConst.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/WaringConst.java index 65724e8c34..ea279ade8b 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/WaringConst.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/WaringConst.java @@ -31,9 +31,5 @@ public class WaringConst { public static String BROADCAST_V2X_LIMITING_VELOCITY_IS_SHOW__EXTRA_KEY = "limitingVelocityIsShow"; // 限速的速度 public static String BROADCAST_V2X_LIMITING_VELOCITY_SPEED__EXTRA_KEY = "limitingVelocitySpeed"; - // 交警任务 - public static String NOTICE_FOR_TRAFFIC_KEY = "noticeForTraffic"; - //普通公告弹框 - public static String NOTICE_FOR_NORMAL_KEY = "noticeForNotice"; } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 6c440aaf32..5844a486fa 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -23,7 +23,6 @@ import com.alibaba.android.arouter.launcher.ARouter import com.mogo.cloud.passport.MoGoAiCloudClient import com.mogo.commons.AbsMogoApplication import com.mogo.commons.debug.DebugConfig -import com.mogo.eagle.core.data.enums.EventTypeEnum import com.mogo.commons.mvp.BaseFragment import com.mogo.commons.mvp.MvpFragment import com.mogo.commons.voice.* @@ -36,6 +35,7 @@ import com.mogo.eagle.core.data.config.HmiBuildConfig import com.mogo.eagle.core.data.constants.MoGoFragmentPaths import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_RTS import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2I +import com.mogo.eagle.core.data.enums.EventTypeEnum import com.mogo.eagle.core.data.enums.SidePattern import com.mogo.eagle.core.data.enums.SidePattern.* import com.mogo.eagle.core.data.enums.WarningDirectionEnum @@ -69,7 +69,6 @@ import com.mogo.eagle.core.function.call.monitor.CallerMonitorManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.function.hmi.R -import com.mogo.eagle.core.function.hmi.WaringConst import com.mogo.eagle.core.function.hmi.notification.WarningFloat import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator import com.mogo.eagle.core.function.hmi.ui.bindingcar.ModifyBindingCarDialog @@ -77,8 +76,8 @@ import com.mogo.eagle.core.function.hmi.ui.bindingcar.ToBindingCarDialog import com.mogo.eagle.core.function.hmi.ui.bindingcar.UpgradeAppDialog import com.mogo.eagle.core.function.hmi.ui.camera.CameraListView import com.mogo.eagle.core.function.hmi.ui.camera.RoadVideoDialog -import com.mogo.eagle.core.function.hmi.ui.notice.NoticeBannerView -import com.mogo.eagle.core.function.hmi.ui.notice.NoticeNormalBannerView +import com.mogo.eagle.core.function.hmi.ui.notice.NoticeCheckDialog +import com.mogo.eagle.core.function.hmi.ui.notice.NoticeTrafficDialog import com.mogo.eagle.core.function.hmi.ui.setting.DebugSettingView import com.mogo.eagle.core.function.hmi.ui.setting.IPCReportWindow import com.mogo.eagle.core.function.hmi.ui.setting.ReportListFloatWindow @@ -141,8 +140,6 @@ class MoGoHmiFragment : MvpFragment(), //StatusView private var statusBarView: StatusBarView? = null - private var mNoticeFloat: WarningFloat.Builder? = null - // 超视距、路侧、前车直播 private var cameraListView: CameraListView? = null private var cameraViewFloat: WarningFloat.Builder? = null @@ -280,15 +277,19 @@ class MoGoHmiFragment : MvpFragment(), //美化模式隐藏开关 viewDemoModeSwitch.setOnClickListener { //只在司机端设置美化模式开关功能 - if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { //单次查询,是否有行程信息(订单进行中时点击不生效),autopilotControlParameters为null代表不处于自动驾驶状态下 - if(CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().autopilotControlParameters == null){ + if (CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().autopilotControlParameters == null) { FunctionBuildConfig.isDemoMode = !FunctionBuildConfig.isDemoMode context?.let { - CallerHmiManager.updateStatusBarRightView(FunctionBuildConfig.isDemoMode, "demoMode", DemoModeView(it)) + CallerHmiManager.updateStatusBarRightView( + FunctionBuildConfig.isDemoMode, + "demoMode", + DemoModeView(it) + ) } CallerAutoPilotManager.setDemoMode(FunctionBuildConfig.isDemoMode) - if(!FunctionBuildConfig.isDemoMode){ + if (!FunctionBuildConfig.isDemoMode) { //关闭美化模式时,通知工控机 CallerAutoPilotManager.setIPCDemoMode(FunctionBuildConfig.isDemoMode) } @@ -322,8 +323,14 @@ class MoGoHmiFragment : MvpFragment(), override fun onAutopilotRecordResult(recordPanel: RecordPanelOuterClass.RecordPanel) { CallerLogger.d("$M_HMI$TAG", "recordKey=${recordPanel.key},stat=${recordPanel.stat}") - CallerMsgBoxManager.saveMsgBox(MsgBoxBean(MsgBoxType.RECORD, RecordBagMsg(recordPanel.key, recordPanel.stat, recordPanel.id, - recordPanel.type, recordPanel.filename, recordPanel.note))) + CallerMsgBoxManager.saveMsgBox( + MsgBoxBean( + MsgBoxType.RECORD, RecordBagMsg( + recordPanel.key, recordPanel.stat, recordPanel.id, + recordPanel.type, recordPanel.filename, recordPanel.note + ) + ) + ) if (BadCaseConfig.recordKeyList.contains(recordPanel.key)) { if (recordPanel.stat == 100 || recordPanel.stat == 101) { //成功结束录制 @@ -511,7 +518,7 @@ class MoGoHmiFragment : MvpFragment(), .setGravity(Gravity.LEFT) .setImmersionStatusBar(true) .setWindowHeight(LayoutParams.MATCH_PARENT) - .setWindowWidth(AutoSizeUtils.dp2px(context,960f)) + .setWindowWidth(AutoSizeUtils.dp2px(context, 960f)) .setAnimator(object : DefaultAnimator() { override fun enterAnim( view: View, @@ -694,8 +701,8 @@ class MoGoHmiFragment : MvpFragment(), .setSidePattern(side) .setGravity(gravity, offsetY = 70) .setImmersionStatusBar(true) - .setWindowHeight(AutoSizeUtils.dp2px(context,1100f)) - .setWindowWidth(AutoSizeUtils.dp2px(context,800f)) + .setWindowHeight(AutoSizeUtils.dp2px(context, 1100f)) + .setWindowWidth(AutoSizeUtils.dp2px(context, 800f)) .setAnimator(object : DefaultAnimator() { override fun enterAnim( view: View, @@ -747,8 +754,8 @@ class MoGoHmiFragment : MvpFragment(), .setSidePattern(side) .setGravity(gravity, offsetY = 70) .setImmersionStatusBar(true) - .setWindowWidth(AutoSizeUtils.dp2px(context,800f)) - .setWindowHeight(AutoSizeUtils.dp2px(context,1100f)) + .setWindowWidth(AutoSizeUtils.dp2px(context, 800f)) + .setWindowHeight(AutoSizeUtils.dp2px(context, 1100f)) .setAnimator(object : DefaultAnimator() { override fun enterAnim( view: View, @@ -1126,105 +1133,37 @@ class MoGoHmiFragment : MvpFragment(), clearAnimation(flV2XWarningView) } + private var noticeTrafficDialog: NoticeTrafficDialog? = null + /** - * 展示云公告顶部弹窗 + * 展示云公告交警详情 * @param trafficStylePushData */ override fun showNoticeForTrafficWithData(trafficStylePushData: NoticeTrafficStylePushData?) { + if (trafficStylePushData == null) { + return + } ThreadUtils.runOnUiThread { - activity?.let { - val noticeBannerView = this.context?.let { it1 -> NoticeBannerView(it1) } - noticeBannerView?.refreshWithData(trafficStylePushData) - mNoticeFloat = it?.let { it1 -> - noticeBannerView?.let { it2 -> - WarningFloat.with(it1) - .setTag(WaringConst.NOTICE_FOR_TRAFFIC_KEY) - .setLayout(it2) - .setSidePattern(SidePattern.TOP) - .setCountDownTime(60 * 1000 * 3) - .setGravity(Gravity.CENTER_HORIZONTAL, offsetY = 110) - .setImmersionStatusBar(true) - .addWarningStatusListener(object : IMoGoWarningStatusListener { - override fun onShow() { - // 创建弹窗成功才进行TTS播报 -// AIAssist.getInstance(activity) -// .speakTTSVoice("") - } - - }) - .setAnimator(object : DefaultAnimator() { - override fun enterAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.enterAnim(view, params, windowManager, sidePattern) - ?.apply { - interpolator = OvershootInterpolator() - } - - override fun exitAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.exitAnim(view, params, windowManager, sidePattern) - ?.setDuration(200) - }) - .show() - } - } + context?.let { + noticeTrafficDialog = NoticeTrafficDialog(it, trafficStylePushData) + noticeTrafficDialog?.show() } } } - override fun showNoticeNormalData(normalData: NoticeNormalData?) { - ThreadUtils.runOnUiThread { - activity?.let { - val noticeBannerView = this.context?.let { it1 -> NoticeNormalBannerView(it1) } - noticeBannerView?.setPushData(normalData) - mNoticeFloat = it.let { it1 -> - noticeBannerView?.let { it2 -> - WarningFloat.with(it1) - .setTag(WaringConst.NOTICE_FOR_NORMAL_KEY) - .setLayout(it2) - .setSidePattern(SidePattern.TOP) - .setCountDownTime(10000) - .setGravity(Gravity.CENTER_HORIZONTAL, offsetY = 110) - .setImmersionStatusBar(true) - .addWarningStatusListener(object : IMoGoWarningStatusListener { - override fun onShow() { - // 创建弹窗成功才进行TTS播报 - // AIAssist.getInstance(activity) - // .speakTTSVoice("") - } - }) - .setAnimator(object : DefaultAnimator() { - override fun enterAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.enterAnim(view, params, windowManager, sidePattern) - ?.apply { - interpolator = OvershootInterpolator() - } + private var pushCheckDialog: NoticeCheckDialog? = null - override fun exitAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.exitAnim(view, params, windowManager, sidePattern) - ?.setDuration(200) - }) - .show() - } - } + /** + * 展示云公告详情 + */ + override fun showNoticeNormalData(normalData: NoticeNormalData?) { + if (normalData == null) { + return + } + ThreadUtils.runOnUiThread { + context?.let { + pushCheckDialog = NoticeCheckDialog(it) + pushCheckDialog?.showCheckDialog(normalData) } } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeBannerView.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeBannerView.java index 7b0271d048..20bcb27dac 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeBannerView.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeBannerView.java @@ -12,11 +12,8 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.constraintlayout.widget.ConstraintLayout; -import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo; import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData; import com.mogo.eagle.core.function.hmi.R; -import com.mogo.eagle.core.function.hmi.WaringConst; -import com.mogo.eagle.core.function.hmi.notification.WarningFloat; import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp; import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform; import com.mogo.eagle.core.utilcode.util.BitmapHelper; @@ -67,14 +64,11 @@ public class NoticeBannerView extends ConstraintLayout { (30f, GlideRoundedCornersTransform.CornerType.LEFT)).into(styleImageView); } else { iconImageView.setVisibility(View.VISIBLE); - new Thread(new Runnable() { - @Override - public void run() { - Bitmap firstBitmap = BitmapHelper.getVideoThumbnail(mPushData.getPoiImgUrl());/*获取第一帧图*/ - ThreadUtils.runOnUiThread(()->{ - styleImageView.setImageBitmap(firstBitmap); - }); - } + new Thread(() -> { + Bitmap firstBitmap = BitmapHelper.getVideoThumbnail(mPushData.getPoiImgUrl());/*获取第一帧图*/ + ThreadUtils.runOnUiThread(()->{ + styleImageView.setImageBitmap(firstBitmap); + }); }); }; } @@ -89,12 +83,7 @@ public class NoticeBannerView extends ConstraintLayout { noticeBannerCheck.setOnClickListener(v -> { mNoticeTrafficDialog = new NoticeTrafficDialog(mContext, mPushData); mNoticeTrafficDialog.show(); - WarningFloat.dismiss(WaringConst.NOTICE_FOR_TRAFFIC_KEY); }); } - //数据改变刷新UI - public void pushBeanChanged(NoticeTrafficStyleInfo info) { - - } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeCheckDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeCheckDialog.kt index ae92070f39..d5779981bd 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeCheckDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeCheckDialog.kt @@ -19,7 +19,6 @@ import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTran import com.mogo.eagle.core.utilcode.util.BitmapHelper import com.mogo.eagle.core.widget.media.video.NoticeSimpleVideoPlayer import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog -import com.mogo.service.IMogoServiceApis import com.shuyu.gsyvideoplayer.GSYVideoManager import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack @@ -43,7 +42,6 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context), LifecycleO private var mVideoUrl: String = "" private var playErrorImageView: ImageView? = null private var connectTextView: TextView? = null - private var mServiceApis: IMogoServiceApis? = null private val statusChangedListenerForCheckNotice = IMogoStatusChangedListener { descriptor, isTrue -> if (descriptor == StatusDescriptor.MAIN_PAGE_IS_BACKGROUND) { dismiss() diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeNormalBannerView.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeNormalBannerView.java index a6d3af65ed..2344915d7b 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeNormalBannerView.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeNormalBannerView.java @@ -13,8 +13,6 @@ import androidx.constraintlayout.widget.ConstraintLayout; import com.mogo.eagle.core.data.notice.NoticeNormalData; import com.mogo.eagle.core.function.hmi.R; -import com.mogo.eagle.core.function.hmi.WaringConst; -import com.mogo.eagle.core.function.hmi.notification.WarningFloat; import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp; import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform; @@ -80,7 +78,6 @@ public class NoticeNormalBannerView extends ConstraintLayout { } pushCheckDialog.showCheckDialog(mPushData); - WarningFloat.dismiss(WaringConst.NOTICE_FOR_NORMAL_KEY); }); } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index 070a9421e2..2f88146da9 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -685,6 +685,7 @@ class DebugSettingView @JvmOverloads constructor( 1 -> R.id.trackerIPC 2 -> R.id.trackerIPCObu 3 -> R.id.trackerIPCV2I + 4 -> R.id.trackerIPCV2nRsm else -> R.id.trackerIPCUnion } ) @@ -694,6 +695,7 @@ class DebugSettingView @JvmOverloads constructor( R.id.trackerIPC -> FunctionBuildConfig.trackerIPCProvider = 1 R.id.trackerIPCObu -> FunctionBuildConfig.trackerIPCProvider = 2 R.id.trackerIPCV2I -> FunctionBuildConfig.trackerIPCProvider = 3 + R.id.trackerIPCV2nRsm -> FunctionBuildConfig.trackerIPCProvider = 4 } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedChartView.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedChartView.java index 6560fadda6..f6d69a53ee 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedChartView.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedChartView.java @@ -13,7 +13,6 @@ import android.view.View; import androidx.annotation.Nullable; import com.mogo.eagle.core.function.hmi.R; -import com.mogo.eagle.core.function.hmi.ui.notice.NoticeBannerView; /** diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml index ec80635375..b25b5cb22b 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml @@ -1886,6 +1886,16 @@ android:textColor="#000" android:textSize="@dimen/dp_24" /> + + diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceColorHelper.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceColorHelper.kt index 052817fffa..4a9acd8673 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceColorHelper.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceColorHelper.kt @@ -30,6 +30,11 @@ object TrackerSourceColorHelper { trackIPCFilter = false } } + 4 -> { + if(isV2nRSM(data).second){ + trackIPCFilter = false + } + } } return trackIPCFilter } @@ -46,7 +51,7 @@ object TrackerSourceColorHelper { color = "#00AEFFFF" } - //等级最高 + //level : 2 if (isObu(data).second) { color = "#36D3FEFF" // obu预警 @@ -58,6 +63,11 @@ object TrackerSourceColorHelper { } } + //融合结果 level : 1 + if (isFusion(data)) { + color = "#9900ffFF" + } + // pnc预警 WarningHelper.getPncColor(data.uuid.toString()) { if (it.isNotBlank()) { @@ -82,6 +92,13 @@ object TrackerSourceColorHelper { } } + /** + * 是否为融合数据,融合数据来源size >=2 + */ + fun isFusion(data: TrackedObject): Boolean { + return data.trackedSourceList.size > 1 + } + /** * any match 任何一个匹配到OBU,则认为是存在obu数据 */ @@ -140,4 +157,34 @@ object TrackerSourceColorHelper { } + /** + * 过滤所有 v2n 感知数据 all match + */ + @SuppressLint("NewApi") + fun isV2nRSM(data: TrackedObject): Pair { + if (data.trackedSourceList.size == 1) { // 如果仅有一个类型 + val source = data.trackedSourceList.stream().allMatch { it.source == 2 } + if (source) { + val first = data.trackedSourceList.stream() + .filter { trackedSource: TrackedSource -> trackedSource.source == 2 } + .findFirst() + if (first.isPresent) { + val subV2nRSM = first.get().subSourceList.stream().allMatch { + it.source == 4 + } + if (subV2nRSM) { + val subFirst = first.get().subSourceList.stream() + .filter { subSource: SubSource -> subSource.source == 4 } + .findFirst() + if (subFirst.isPresent) { + return Pair(subFirst.get(), true) + } + } + } + } + } + return Pair(null, false) + } + + } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeSocketManager.java b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeSocketManager.java index 8607c4527d..cdbcd1609f 100644 --- a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeSocketManager.java +++ b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeSocketManager.java @@ -9,7 +9,6 @@ import com.mogo.eagle.core.data.msgbox.MsgBoxBean; import com.mogo.eagle.core.data.msgbox.MsgBoxType; import com.mogo.eagle.core.data.notice.NoticeNormalData; import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData; -import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.network.utils.GsonUtil; @@ -64,7 +63,7 @@ class NoticeSocketManager { if (obj == null) { return; } - CallerHmiManager.INSTANCE.showNoticeNormalData(obj); + CallerMsgBoxManager.INSTANCE.saveMsgBox(new MsgBoxBean(MsgBoxType.NOTICE,obj)); } }; @@ -81,8 +80,7 @@ class NoticeSocketManager { @Override public void onMsgReceived(NoticeTrafficStylePushData obj) { CallerLogger.INSTANCE.d(M_NOTICE + TAG, "301001-- 交警类型公告数据:" + GsonUtil.jsonFromObject(obj)); - // todo - CallerHmiManager.INSTANCE.showTrafficBanner(obj); + CallerMsgBoxManager.INSTANCE.saveMsgBox(new MsgBoxBean(MsgBoxType.NOTICE,obj)); } }; } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt index d382f96463..9e277bb883 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt @@ -22,7 +22,6 @@ import com.mogo.eagle.core.function.api.hmi.view.IViewTrafficLight import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWaringProvider import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener import com.mogo.eagle.core.function.call.base.CallerBase -import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager.saveMsgBox import com.zhjt.service_biz.BizConfig @@ -299,7 +298,6 @@ object CallerHmiManager : CallerBase() { * */ fun showNoticeNormalData(noticeNormal: NoticeNormalData) { - saveMsgBox(MsgBoxBean(MsgBoxType.NOTICE, noticeNormal)) waringProviderApi?.showNoticeNormalData(noticeNormal) }