From 5e477b5873dc11479d22cc75564b813a2a39a1e9 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Wed, 4 Dec 2024 11:34:32 +0800 Subject: [PATCH 01/22] [6.8.2] add func of fusion color --- .../socket/lan/LanSocketManagerJava.java | 3 ++ .../autopilot/MoGoAutopilotControlProvider.kt | 28 +++++++++++++++++++ .../autopilot/telematic/TeleMsgHandler.kt | 26 +++++++++++++++++ .../hmi/ui/operate/OperatePanelLayout.kt | 1 + .../hmi/ui/setting/DebugSettingView.kt | 18 +++++++++++- .../core/data/config/FunctionBuildConfig.kt | 4 +-- .../IMoGoAutopilotControlProvider.kt | 6 ++++ .../api/telematic/IReceivedMsgListener.kt | 4 ++- .../CallerAutoPilotControlManager.kt | 6 ++++ .../CallerTelematicListenerManager.kt | 17 +++++++++++ .../main/res/values/operate_panel_config.xml | 6 ++-- gradle.properties | 16 +++++------ 12 files changed, 120 insertions(+), 15 deletions(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManagerJava.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManagerJava.java index 325e0df9e2..1e416bbe44 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManagerJava.java +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManagerJava.java @@ -85,5 +85,8 @@ public class LanSocketManagerJava implements IReceivedMsgListener { } + @Override + public void onFusionColor(boolean fusionColor) { + } } diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt index 5494a0ca96..6186e5f1cf 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt @@ -56,6 +56,7 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.telematic.MogoProtocolMsg import com.mogo.telematic.MogoProtocolMsg.NORMAL_DATA +import com.mogo.telematic.MogoProtocolMsg.SYNC_FUSION_COLOR_STATUS import com.mogo.telematic.MogoProtocolMsg.SYNC_MODE_STATUS import com.mogo.telematic.NSDNettyManager import com.mogo.telematic.client.listener.NettyClientListener @@ -161,6 +162,7 @@ class MoGoAutopilotControlProvider : override fun run() { // 同步是否开启美化模式 setDemoMode(FunctionBuildConfig.isDemoMode) + setFusionColor(FunctionBuildConfig.isFusionColor) setIgnoreConditionDraw(FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData) msgHandler.synMsgToAllClients() } @@ -559,6 +561,32 @@ class MoGoAutopilotControlProvider : } } + /** + * 感知颜色绘制同步 + */ + override fun setFusionColor(isEnable: Boolean) { + // 同步给乘客端 + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + val byteArray = if (isEnable) { + "1;${System.currentTimeMillis()}".toByteArray() + } else { + "0;${System.currentTimeMillis()}".toByteArray() + } + if (NSDNettyManager.getInstance().isServerStart) { + NSDNettyManager.getInstance() + .sendMsgToAllClients( + MogoProtocolMsg( + SYNC_FUSION_COLOR_STATUS, + byteArray.size, + byteArray + ) + ) + } else { + CallerLogger.d("$M_D_C$TAG", "同步感知颜色绘制时司机端Server未启动!") + } + } + } + override fun setIgnoreConditionDraw(isIgnore: Boolean) { // 同步给乘客端 if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt index 0eca37e334..1e337efc80 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt @@ -20,6 +20,7 @@ import com.mogo.eagle.core.data.multidisplay.TelematicConstant import com.mogo.eagle.core.data.v2x.V2XEvent.RoadEventX import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setDemoMode +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setFusionColor import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setIgnoreConditionDraw import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager @@ -74,6 +75,9 @@ class TeleMsgHandler : IMsgHandler { @Volatile private var demoModeTime = 0L + @Volatile + private var fusionColorTime = 0L + @Volatile private var timestamp = 0L @@ -299,6 +303,27 @@ class TeleMsgHandler : IMsgHandler { } } + MogoProtocolMsg.SYNC_FUSION_COLOR_STATUS -> { + val content = String(it.body) + if (content.contains(";")) { + val strArr = content.split(";") + if (strArr.size == 2) { + val currTime = strArr[1].toLong() + if (currTime > fusionColorTime) { + val fusionColor = when (strArr[0]) { + "1" -> true + else -> false + } + CallerTelematicListenerManager.dispatchFusionColor(fusionColor) + fusionColorTime = currTime + invokeNettyConnResult("乘客屏收到 fusionColor为:${fusionColor}") + } else { + invokeNettyConnResult("乘客屏收到过时的fusionColor") + } + } + } + } + MogoProtocolMsg.REQ_MAC_ADDRESS -> { val carConfig = MessagePad.CarConfigResp.parseFrom(msg.body) AppConfigInfo.plateNumber = carConfig.plateNumber @@ -481,6 +506,7 @@ class TeleMsgHandler : IMsgHandler { val socketAddress = channel?.remoteAddress().toString() CallerLogger.d("${SceneConstant.M_D_C}$TAG", "Client ip is:${socketAddress}") setDemoMode(FunctionBuildConfig.isDemoMode) + setFusionColor(FunctionBuildConfig.isFusionColor) setIgnoreConditionDraw(FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData) } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt index 6206187a24..9824d618a4 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt @@ -445,6 +445,7 @@ class OperatePanelLayout : LinearLayout { FunctionBuildConfig.isFusionColor = isChecked //6.6.2版本基于运营需求-产品设计-v2i进pnc,感知目标颜色替换 FunctionBuildConfig.fusionMode = 2 CallerAutoPilotControlManager.sendFusionMode(2) + CallerAutoPilotControlManager.setFusionColor(isChecked) CallerHmiViewControlListenerManager.invokeFuncMode(IViewControlListener.FUNC_FUSION_COLOR,isChecked) CallerAutoPilotControlManager.sendV2iToPncCmd(isChecked) hmiAction("V2I场景进PNC, ", isChecked) 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 ef69fb5d4a..17d52a5c62 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 @@ -75,6 +75,7 @@ import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion. import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_DEMO import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_RAIN import com.mogo.eagle.core.function.api.setting.ISopSettingListener +import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager @@ -97,6 +98,7 @@ import com.mogo.eagle.core.function.call.obu.CallerObuConnectListenerManager import com.mogo.eagle.core.function.call.obu.CallerObuInfoListenerManager import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager import com.mogo.eagle.core.function.call.setting.CallerSopSettingManager +import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog @@ -360,7 +362,8 @@ internal class DebugSettingView @JvmOverloads constructor( IMoGoChassisStatesListener, IMoGoSweeperFutianCleanSystemListener, IMoGoObuInfoListener, - ISopSettingListener, IViewControlListener, IMoGoCloudListener, IBindStateChangeListener { + ISopSettingListener, IViewControlListener, IMoGoCloudListener, IBindStateChangeListener, + IReceivedMsgListener { companion object { private const val TAG = "DebugSettingView" @@ -469,6 +472,8 @@ internal class DebugSettingView @JvmOverloads constructor( CallerHmiViewControlListenerManager.addListener(TAG, this) + CallerTelematicListenerManager.addListener(TAG, this) + //添加 业务配置监听 CallerDevaToolsFuncConfigListenerManager.registerDevaToolsFuncConfigListener( FuncBizConfig.FOUNDATION, TAG, true, this @@ -513,6 +518,9 @@ internal class DebugSettingView @JvmOverloads constructor( CallerSopSettingManager.removeListener(TAG) CallerHmiViewControlListenerManager.removeListener(TAG) + + CallerTelematicListenerManager.removeListener(TAG) + DevicesManager.removeBindStateChangeListener(TAG) // 移除 业务配置监听 CallerDevaToolsFuncConfigListenerManager.unRegisterDevaToolsFuncConfigListener( @@ -946,6 +954,7 @@ internal class DebugSettingView @JvmOverloads constructor( btnDrawFusion.isChecked = FunctionBuildConfig.isFusionColor btnDrawFusion.setOnCheckedChangeListener { _, isChecked -> FunctionBuildConfig.isFusionColor = isChecked + CallerAutoPilotControlManager.setFusionColor(isChecked) } // 演示模式,上一次勾选的数据 @@ -2714,6 +2723,13 @@ internal class DebugSettingView @JvmOverloads constructor( tbCarAperture.isChecked = status } + override fun onFusionColor(fusionColor: Boolean) { + super.onFusionColor(fusionColor) + ThreadUtils.runOnUiThread { + btnDrawFusion.isChecked = FunctionBuildConfig.isFusionColor + } + } + override fun updateFuncMode(tag: String, boolean: Boolean) { super.updateFuncMode(tag, boolean) if (tag == FUNC_MODE_DEMO) { diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt index c971c7d358..c19a7adb21 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt @@ -360,14 +360,14 @@ object FunctionBuildConfig { */ @Volatile @JvmField - var v2nNewLinkedToPNC = false + var v2nNewLinkedToPNC = true /** * 是否开启V2I场景进PNC的开关,开关默认关闭 */ @Volatile @JvmField - var v2iToPNC = false + var v2iToPNC = true @Volatile @JvmField diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt index c50de87886..8daeb83c7d 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt @@ -164,6 +164,12 @@ interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider { */ fun setDemoMode(isEnable: Boolean) + /** + * 融合颜色 + * 司机屏同步给乘客屏 + */ + fun setFusionColor(isEnable: Boolean) + /** * 是否忽略条件直接绘制 * 司机屏同步给乘客屏 diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/telematic/IReceivedMsgListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/telematic/IReceivedMsgListener.kt index 403be36126..be29500fef 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/telematic/IReceivedMsgListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/telematic/IReceivedMsgListener.kt @@ -1,9 +1,11 @@ package com.mogo.eagle.core.function.api.telematic interface IReceivedMsgListener { - fun onReceivedMsg(type: Int, byteArray: ByteArray) + fun onReceivedMsg(type: Int, byteArray: ByteArray){} fun onReceivedServerSn(sn: String?) {} fun onDemoMode(isDemoMode: Boolean) {} + + fun onFusionColor(fusionColor: Boolean){} } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt index 33fdcfc114..8fdad0d5fb 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt @@ -349,6 +349,12 @@ object CallerAutoPilotControlManager { } } + fun setFusionColor(isEnable: Boolean){ + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + providerApi?.setFusionColor(isEnable) + } + } + /** * 是否忽略条件直接绘制 * 司机屏同步给乘客屏 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/telematic/CallerTelematicListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/telematic/CallerTelematicListenerManager.kt index 0a8b681a24..159805f016 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/telematic/CallerTelematicListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/telematic/CallerTelematicListenerManager.kt @@ -57,4 +57,21 @@ object CallerTelematicListenerManager: CallerBase() { } } } + + fun dispatchFusionColor(fusionColor: Boolean) { + if (fusionColor != FunctionBuildConfig.isFusionColor) { + FunctionBuildConfig.isFusionColor = fusionColor + M_LISTENERS.forEach { + val listener = it.value + try { + listener.onFusionColor(fusionColor) + } catch (e: Exception) { + e.printStackTrace() + Log.e(TAG, "转发感知颜色出现异常:${e.message}") + } + } + } + } + + } \ No newline at end of file diff --git a/core/mogo-core-res/src/main/res/values/operate_panel_config.xml b/core/mogo-core-res/src/main/res/values/operate_panel_config.xml index 309989d4a5..d010cc6d86 100644 --- a/core/mogo-core-res/src/main/res/values/operate_panel_config.xml +++ b/core/mogo-core-res/src/main/res/values/operate_panel_config.xml @@ -8,10 +8,10 @@ true - false + true - false + true false @@ -26,7 +26,7 @@ false - false + true false diff --git a/gradle.properties b/gradle.properties index 3c047be2d6..c1845175ff 100644 --- a/gradle.properties +++ b/gradle.properties @@ -64,21 +64,21 @@ bytex.ASM_API=ASM7 LOGLIB_VERSION=1.10.18 ######## MogoAiCloudSDK Version ######## # 网络请求LOGLIB_VERSION -MOGO_NETWORK_VERSION=1.4.7.42 +MOGO_NETWORK_VERSION=1.4.7.58 # 鉴权 -MOGO_PASSPORT_VERSION=1.4.7.42 +MOGO_PASSPORT_VERSION=1.4.7.58 # 长链接 -MOGO_SOCKET_VERSION=1.4.7.42 +MOGO_SOCKET_VERSION=1.4.7.58 # 数据采集 -MOGO_REALTIME_VERSION=1.4.7.42 +MOGO_REALTIME_VERSION=1.4.7.58 # 直播推流 -MOGO_LIVE_VERSION=1.4.7.42 +MOGO_LIVE_VERSION=1.4.7.58 # 直播拉流 -MOGO_TRAFFICLIVE_VERSION=1.4.7.42 +MOGO_TRAFFICLIVE_VERSION=1.4.7.58 # 定位服务 -MOGO_LOCATION_VERSION=1.4.7.42 +MOGO_LOCATION_VERSION=1.4.7.58 # 远程通讯模块 -MOGO_TELEMATIC_VERSION=1.4.7.42 +MOGO_TELEMATIC_VERSION=1.4.7.58 # 动态换肤SDK MOGO_SKIN_VERSION=1.4.7.49.19 ######## MogoAiCloudSDK Version ######## From acd15af0fae7c5714ddf873a0753a08ae10d1bfa Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 4 Dec 2024 11:46:19 +0800 Subject: [PATCH 02/22] =?UTF-8?q?[6.8.0]=20[fea]=20[=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E5=8F=82=E6=95=B0]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/manager/autopilot/line/LineManager.kt | 8 ++++++-- .../logchainanalytic/OchChainLogManager.kt | 6 ++++++ .../java/com/mogo/och/weaknet/model/LineModel.kt | 4 ++-- .../com/mogo/commons/utils/MogoAnalyticUtils.kt | 16 ++++++++++++++-- 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt index 721d21dc72..634d2f258f 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt @@ -84,9 +84,13 @@ object LineManager : CallerBase() { if(!AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)&&!AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)){ val (start, end) = getStations() if(start!=null&&end!=null){ - CallerDataCenterBizListener.invokeOchInfo(OchInfo(0, mutableListOf(start.toMogoLocation(),end.toMogoLocation()))) + val ochInfo = OchInfo(0, mutableListOf(start.toMogoLocation(), end.toMogoLocation())) + CallerDataCenterBizListener.invokeOchInfo(ochInfo) + OchChainLogManager.writeChainLogMap("向地图传参数", "参数信息:${ochInfo}") }else{ - CallerDataCenterBizListener.invokeOchInfo(OchInfo(0, mutableListOf())) + val ochInfo = OchInfo(0, mutableListOf()) + CallerDataCenterBizListener.invokeOchInfo(ochInfo) + OchChainLogManager.writeChainLogMap("向地图传参数", "参数信息:${ochInfo}") } } } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/logchainanalytic/OchChainLogManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/logchainanalytic/OchChainLogManager.kt index 164bc09204..c20378752b 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/logchainanalytic/OchChainLogManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/logchainanalytic/OchChainLogManager.kt @@ -62,6 +62,12 @@ object OchChainLogManager { const val EVENT_KEY_INFO_BLUETOOTH = "analytics_event_och_bluetooth" + const val EVENT_KEY_INFO_MAP = "analytics_event_och_map" + + + fun writeChainLogMap(title: String, info: String) { + writeChainLog(title, info, true, EVENT_KEY_INFO_MAP) + } fun writeChainLogDb(title: String, info: String) { writeChainLog(title, info, true, EVENT_KEY_INFO_DB) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt index 023aae7da9..7c50279532 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt @@ -435,8 +435,8 @@ object LineModel { if(stationList.isNullOrEmpty()){ val ochInfo = OchInfo(1, mutableListOf()) ochInfo.siteMarkerList = mutableListOf() - OchChainLogManager.writeChainLog("地图","站点信息:${ochInfo}") CallerDataCenterBizListener.invokeOchInfo(ochInfo) + OchChainLogManager.writeChainLogMap("地图","站点信息:${ochInfo}") }else{ val siteList = mutableListOf() var temp: SiteMarkerBean?=null @@ -468,8 +468,8 @@ object LineModel { if(start!=null&&end!=null){ val ochInfo = OchInfo(1, mutableListOf(start.toMogoLocation(),end.toMogoLocation())) ochInfo.siteMarkerList = siteList - OchChainLogManager.writeChainLog("地图","站点信息:${ochInfo}") CallerDataCenterBizListener.invokeOchInfo(ochInfo) + OchChainLogManager.writeChainLogMap("地图","站点信息:${ochInfo}") } } } diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/utils/MogoAnalyticUtils.kt b/foudations/mogo-commons/src/main/java/com/mogo/commons/utils/MogoAnalyticUtils.kt index a995c32b6f..620ba168e8 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/utils/MogoAnalyticUtils.kt +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/utils/MogoAnalyticUtils.kt @@ -110,7 +110,13 @@ object MogoAnalyticUtils { e.printStackTrace() properties["network_type"] = "获取设备网络状态错误" } - Analytics.getInstance().track(event, properties) + if(ThreadUtils.isMainThread()){ + ThreadUtils.getIoPool().submit{ + Analytics.getInstance().track(event, properties) + } + }else{ + Analytics.getInstance().track(event, properties) + } } /** @@ -120,7 +126,13 @@ object MogoAnalyticUtils { * @param properties json事件参数 */ fun track(event: String?, properties: JSONObject) { - Analytics.getInstance().track(event, properties) + if(ThreadUtils.isMainThread()){ + ThreadUtils.getIoPool().submit{ + Analytics.getInstance().track(event, properties) + } + }else{ + Analytics.getInstance().track(event, properties) + } } From d7eecbf361ced87d0d50e719503c75076f4d87da Mon Sep 17 00:00:00 2001 From: aibingbing Date: Wed, 4 Dec 2024 17:23:24 +0800 Subject: [PATCH 03/22] =?UTF-8?q?[FSM]=20feat:=20FSM=E7=8A=B6=E6=80=81=20?= =?UTF-8?q?=E5=92=8C=20=E4=BA=BA=E5=B7=A5=E5=B9=B2=E9=A2=84=E7=8A=B6?= =?UTF-8?q?=E6=80=81=20=E5=A2=9E=E5=8A=A0=E7=BE=8E=E5=8C=96=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E5=88=A4=E6=96=AD=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bone/status/StartAutoPilotStatusView.kt | 69 +++++++++++++++++-- 1 file changed, 65 insertions(+), 4 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/status/StartAutoPilotStatusView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/status/StartAutoPilotStatusView.kt index 8710c64a88..551dfe6341 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/status/StartAutoPilotStatusView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/status/StartAutoPilotStatusView.kt @@ -7,13 +7,18 @@ import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat import chassis.Chassis +import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener +import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener +import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_DEMO import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.zhjt.mogo_core_function_devatools.status.StatusManager import com.zhjt.mogo_core_function_devatools.status.entity.AcceleratorStatus import com.zhjt.mogo_core_function_devatools.status.entity.BrakeStatus @@ -44,7 +49,8 @@ class StartAutoPilotStatusView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 -) : ConstraintLayout(context, attrs, defStyleAttr), StatusManager.IStatusListener { +) : ConstraintLayout(context, attrs, defStyleAttr), StatusManager.IStatusListener, + IViewControlListener { companion object { private const val TAG = "StartAutoPilotStatusView" @@ -89,7 +95,7 @@ class StartAutoPilotStatusView @JvmOverloads constructor( } private fun handleFSM(status: FSMStatus) { - Logger.d(TAG, "--- handleFSM ---FSMStatus: code=${status.state} isError=${status.isException()} ") + Logger.d(TAG, "--- handleFSM ---FSMStatus: code=${status.state} isError=${status.isException()} isDemoMode=${FunctionBuildConfig.isDemoMode}") val lastHasFSM = hasFSM.get() val newHasFSM = status.hasFSMModule() Logger.d(TAG, "--- handleFSM ---lastHasFSM=${lastHasFSM} newHasFSM=${newHasFSM}") @@ -98,6 +104,11 @@ class StartAutoPilotStatusView @JvmOverloads constructor( } hasFSM.set(newHasFSM) + if (FunctionBuildConfig.isDemoMode && status.isException()) { + // 美化模式下如果是异常的,修改成正常的 + status.state = FSMStateCode.ExistNormal + } + when (status.state) { FSMStateCode.UnKnown -> { fSMStatusLayout?.setOnClickListener(null) @@ -145,9 +156,15 @@ class StartAutoPilotStatusView @JvmOverloads constructor( } private fun handleWithoutFSM(status: Status) { - val isError = + var isError = status.isException() && CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING - Logger.d(TAG, "--- handleWithoutFSM ---${status::class.simpleName}: $isError") + Logger.d(TAG, "--- handleWithoutFSM --- isError=${status::class.simpleName}: $isError isDemoMode=${FunctionBuildConfig.isDemoMode}") + + if (FunctionBuildConfig.isDemoMode && isError) { + // 美化模式下如果是异常的,修改成正常的 + isError = false + } + when (status) { is GearStatus -> { val position = try { @@ -224,6 +241,34 @@ class StartAutoPilotStatusView @JvmOverloads constructor( } } + /** + * 处理无FSM模块时 && 美化模式时 + */ + private fun handleWithoutFSMDemoMode() { + Logger.d(TAG, "--- handleWithoutFSMDemoMode ---") + UiThreadHandler.post { + tv_gear?.isEnabled = false + iv_accelerator?.isSelected = false + iv_brake?.isSelected = false + iv_double_flash?.isSelected = false + iv_steer?.isSelected = false + withoutFSMStatusLayout?.background = + ContextCompat.getDrawable( + context, + R.drawable.icon_no_fsm_status_bg_normal + ) + notifyStatus(false) + } + } + + /** + * 处理有FSM模块时 && 美化模式时 + */ + private fun handleFSMDemoMode() { + Logger.d(TAG, "--- handleFSMDemoMode ---") + handleFSM(FSMStatus(FSMStateCode.ExistNormal, listOf("正常"))) + } + private fun notifyStatus(isError: Boolean) { Logger.d(TAG, "--- notifyStatus ---: $isError") statusChangedListeners.values.forEach { itx -> @@ -238,11 +283,27 @@ class StartAutoPilotStatusView @JvmOverloads constructor( override fun onAttachedToWindow() { super.onAttachedToWindow() StatusManager.addListener(TAG, this) + CallerHmiViewControlListenerManager.addListener(TAG,this) } override fun onDetachedFromWindow() { super.onDetachedFromWindow() StatusManager.removeListener(TAG) + CallerHmiViewControlListenerManager.removeListener(TAG) + } + + override fun updateFuncMode(tag: String, boolean: Boolean) { + if(tag == FUNC_MODE_DEMO){ + Logger.i(TAG, "updateFuncMode: tag=$tag value=$boolean") + if (FunctionBuildConfig.isDemoMode) { + // 构建数据,强制刷新成正常的状态 + if (hasFSM.get()) { + handleFSMDemoMode() + } else { + handleWithoutFSMDemoMode() + } + } + } } /** From 9afd36322b918dc1ff50eae68f6c79194e8e0e88 Mon Sep 17 00:00:00 2001 From: aibingbing Date: Wed, 4 Dec 2024 17:26:27 +0800 Subject: [PATCH 04/22] =?UTF-8?q?[OCH]=20fix:=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=BC=96=E8=AF=91=E6=8A=A5=E9=94=99=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/offline/model/OrderModel.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java index ebe601a4d4..53c9f0cbb6 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java @@ -180,6 +180,11 @@ public class OrderModel { private final IReceivedMsgListener mReceivedMsgListener = new IReceivedMsgListener() { + @Override + public void onFusionColor(boolean fusionColor) { + IReceivedMsgListener.super.onFusionColor(fusionColor); + } + @Override public void onDemoMode(boolean isDemoMode) { From 5b3bb091046694a0a73a68fb5245abe1d006448a Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 5 Dec 2024 14:40:54 +0800 Subject: [PATCH 05/22] =?UTF-8?q?[6.8.2]=20[fea]=20[=E7=BE=8E=E5=8C=96?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OchAutoPilotStatusListenerManager.kt | 18 +- .../manager/autopilot/line/ILineCallback.java | 40 ++++- .../manager/autopilot/line/LineManager.kt | 23 ++- .../wigets/autopilot/AutopilotStateModel.kt | 161 ++++++++++++++---- .../mogo/och/offline/model/OrderModel.java | 2 +- 5 files changed, 200 insertions(+), 44 deletions(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt index 0c273facca..00c858f939 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt @@ -60,14 +60,16 @@ object OchAutoPilotStatusListenerManager : CallerBase if (oldValue != newValue) { - if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { - if(oldValue==IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){ - if(newValue==IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE){ - ToastUtils.showLong(R.string.common_change2_autopilot2_manual) - } - }else if(oldValue==IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING){ - if(newValue==IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE){ - ToastUtils.showLong(R.string.common_change2_pxjs_manual) + if (!FunctionBuildConfig.isDemoMode) { + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + if (oldValue == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { + if (newValue == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE) { + ToastUtils.showLong(R.string.common_change2_autopilot2_manual) + } + } else if (oldValue == IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING) { + if (newValue == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE) { + ToastUtils.showLong(R.string.common_change2_pxjs_manual) + } } } } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/ILineCallback.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/ILineCallback.java index a83654c7b2..d0aa60b939 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/ILineCallback.java +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/ILineCallback.java @@ -2,21 +2,59 @@ package com.mogo.och.common.module.manager.autopilot.line; public interface ILineCallback { + + /** + * 清除高精地图的轨迹线成功 + */ default void clearLineSuccess(){} + /** + * 高精地图上绘制轨迹线成功 + */ default void drawLineSuccess(){} + /** + * 高精地图上绘制轨迹线失败 + */ default void drawLineFail(){} + /** + * och 已向eye 发送启动自驾参数 + */ default void sendStartAutopilotSuccess(){} + /** + * 因为起始站点、自驾轨迹参数、线路信息变化导致的自驾orderId的变化 + */ + default void onAutopilotIdChange(String oldId,String newId){} + + + /** + * 启动自驾15s超时 + */ default void startAutopilotTimeOut(){} + /** + * 底盘收到启动自驾的指令 + */ default void sendStartAutopilotSuccessAck(){} + /** + * 底盘告知启动自驾失败 + * @param startFailedCode 错误码 + * @param startFailedMessage 错误信息 + */ default void startAutopilotFailure(String startFailedCode,String startFailedMessage){} - default void startAutopilotSuccess(){} + /** + * 自驾启动成功 + * @param source 自驾成功来源 + * @param autopilotId 当前启动自驾的id + */ + default void startAutopilotSuccess(int source, String autopilotId){} + /** + * 距离站点小于15m后向底盘查询是否到站底盘反馈 已到站 + */ default void arrivedStationSuccessBySearch(){} } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt index 634d2f258f..85fe8f695b 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt @@ -81,6 +81,9 @@ object LineManager : CallerBase() { private var autopilotId: String by Delegates.observable("") { _, oldValue, newValue -> if (oldValue != newValue) { CallerEagleBaseFunctionCall4OchManager.setOchAutopilotOrderId(newValue) + M_LISTENERS.forEach { + it.value.onAutopilotIdChange(oldValue,newValue) + } if(!AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)&&!AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)){ val (start, end) = getStations() if(start!=null&&end!=null){ @@ -252,11 +255,11 @@ object LineManager : CallerBase() { } private fun setAutopilotControlParameters(){ - getStationsWithLineAndContrai { start, end, lineInfo, contrai -> - val parameters = LineManager.initAutopilotControlParameters() + getStationsWithLine { start, end, lineInfo -> + val parameters = initAutopilotControlParameters() if (null == parameters) { e(M_BUS + TAG, "AutopilotControlParameters is empty.") - return@getStationsWithLineAndContrai + return@getStationsWithLine } d(M_BUS + TAG, "AutopilotControlParameters is update.") CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(parameters) @@ -315,6 +318,9 @@ object LineManager : CallerBase() { fun initAutopilotControlParameters(): AutopilotControlParameters? { var parameters: AutopilotControlParameters? = null + getStationsWithLine { start, end, lineInfo -> + this.autopilotId = "${lineInfo.lineId}_${start.siteId}_${end.siteId}_${lineInfo.orderId}" + } getStationsWithLineAndContrai { start, end, lineInfo, contrai -> parameters = AutopilotControlParameters() parameters?.routeID = lineInfo.lineId.toInt() @@ -324,7 +330,6 @@ object LineManager : CallerBase() { parameters?.startLatLon = AutoPilotLonLat(start.lat, start.lon) parameters?.endLatLon = AutoPilotLonLat(end.lat, end.lon) parameters?.vehicleType = 10 - this.autopilotId = "${lineInfo.lineId}_${start.siteId}_${end.siteId}_${lineInfo.orderId}" parameters?.orderId = this.autopilotId parameters?.firstAutopilotFlag = isFirstStartAutopilot @@ -518,6 +523,11 @@ object LineManager : CallerBase() { } } + /** + * @param source 0: och 通过自驾状态变化确定启动自驾成功 + * 1: 通过can消息发送自驾状态确定启动自驾成功 + * 2:通过FSM 反馈确定启动自驾成功 + */ fun triggerStartServiceEvent(send: Boolean,source:Int,type:String) { getStationsWithLine { start, end, lineInfo -> OchAutopilotAnalytics.triggerStartAutopilotEvent( @@ -531,6 +541,11 @@ object LineManager : CallerBase() { type, source ) + if(send){ + M_LISTENERS.forEach { + it.value.startAutopilotSuccess(source,autopilotId) + } + } } } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/autopilot/AutopilotStateModel.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/autopilot/AutopilotStateModel.kt index 38e889137b..3b7fc9b9ff 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/autopilot/AutopilotStateModel.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/autopilot/AutopilotStateModel.kt @@ -1,6 +1,7 @@ package com.mogo.och.common.module.wigets.autopilot import androidx.lifecycle.ViewModel +import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.utilcode.util.UiThreadHandler @@ -10,6 +11,8 @@ import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatu import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager import com.mogo.och.common.module.manager.autopilot.line.ILineCallback import com.mogo.och.common.module.manager.autopilot.line.LineManager +import com.mogo.och.common.module.manager.beautifymode.BeautifyManager +import com.mogo.och.common.module.manager.beautifymode.IBeautifyModeCallback import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.och.common.module.utils.RxUtils @@ -21,7 +24,7 @@ import java.util.concurrent.atomic.AtomicBoolean * @since: 2022/12/15 */ class AutopilotStateModel : ViewModel(), IOchAutopilotStatusListener, ILineCallback, - IOchDebugAutopilotStatusListener { + IOchDebugAutopilotStatusListener, IBeautifyModeCallback { private val TAG = AutopilotStateModel::class.java.simpleName @@ -29,12 +32,16 @@ class AutopilotStateModel : ViewModel(), IOchAutopilotStatusListener, ILineCall private val isPalyStartAni = AtomicBoolean(false) + // autopilotId 这个自驾id 启动成功过 + private var lineId:String? = null + override fun onCleared() { this.viewCallback = null AutopilotStateDebug.removeListener(TAG) OchAutoPilotStatusListenerManager.removeListener(TAG) LineManager.removeListener(TAG) + BeautifyManager.setStatusChangeListener(TAG,null) } fun setViewCallback(viewCallback:AutopilotStateCallback){ @@ -42,6 +49,7 @@ class AutopilotStateModel : ViewModel(), IOchAutopilotStatusListener, ILineCall AutopilotStateDebug.addListener(TAG,this) OchAutoPilotStatusListenerManager.addListener(TAG,this) LineManager.addListener(TAG,this) + BeautifyManager.setStatusChangeListener(TAG,this) } override fun debugStatusChange(debugStatus: Boolean) { @@ -90,39 +98,126 @@ class AutopilotStateModel : ViewModel(), IOchAutopilotStatusListener, ILineCall autopilotStateChange() } - private fun autopilotStateChange(){ - // 正在起自驾过程中 - // 自驾状态变化为非自驾状态 - // 或者 - // FSM 状态改为不能启动自驾 - // 按照启动自驾失败计算 - if(isPalyStartAni.get() && - (!CallerAutoPilotControlManager.isCanStartAutopilot(false) - || OchAutoPilotStatusListenerManager.autopilotState!=IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING)){ - OchChainLogManager.writeChainLog("自驾信息","正在起自驾过程中、自驾状态变化切为非自驾状态或者FSM 状态改为不能启动自驾") - startAutopilotFail() + override fun dispatchStatus(typeEnum: BeautifyManager.ChangeTypeEnum) { + OchChainLogManager.writeChainLog("美化模式","美化模式发生变化:${typeEnum}") + autopilotStateChange() + } + + override fun startAutopilotSuccess( + source: Int, + autopilotId: String? + ) { + LineManager.getLineInfo { + this.lineId = it.lineId.toString() + } + autopilotStateChange() + this.viewCallback?.startAutopilotSuccess() + } + + override fun onAutopilotIdChange(oldId: String?, newId: String?) { + if(LineManager.lineInfos?.lineId.toString()==this.lineId){ return } - BizLoopManager.runInMainThread{ - OchChainLogManager.writeChainLog("自驾信息","自驾状态:${OchAutoPilotStatusListenerManager.autopilotState} 能否启动自驾:${CallerAutoPilotControlManager.isCanStartAutopilot(false)}") - when (OchAutoPilotStatusListenerManager.autopilotState) { - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE-> {// 不可用 不可启动自驾 - this.viewCallback?.autopilotDisable() - } - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE-> { - if (CallerAutoPilotControlManager.isCanStartAutopilot(false) && OchAutoPilotStatusListenerManager.canStartAutopilotFromFSM) {// 不可用 - this.viewCallback?.canStartAutopilot() - } else {// 部分可用 - this.viewCallback?.autopilotDisable() + this.lineId = null + autopilotStateChange() + } + + /** + * 1、自驾状态发生变化 + * 2、能否启动自驾变化 + * 3、FSM能否启动自驾变化 + * 4、美化模式发生变化 + * 5、启动自驾成功 + * 6、自驾orderid发生变化 + * 7、启动自驾超时失败 + * 8、底盘明确告知启动自驾失败 + * 9、启动自驾失败展示3s 失败后恢复新的状态 + */ + private fun autopilotStateChange(){ + if (FunctionBuildConfig.isDemoMode) { + BizLoopManager.runInMainThread { + OchChainLogManager.writeChainLog( + "自驾信息", + "自驾状态:${OchAutoPilotStatusListenerManager.autopilotState} 能否启动自驾:${ + CallerAutoPilotControlManager.isCanStartAutopilot(false) + }" + ) + if(lineId.isNullOrEmpty()){// 没有启动成功过 + when (OchAutoPilotStatusListenerManager.autopilotState) { + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {// 不可用 不可启动自驾 + this.viewCallback?.canStartAutopilot() + } + + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> { + if (CallerAutoPilotControlManager.isCanStartAutopilot(false) && OchAutoPilotStatusListenerManager.canStartAutopilotFromFSM) {// 不可用 + this.viewCallback?.canStartAutopilot() + } else {// 部分可用 + this.viewCallback?.canStartAutopilot() + } + } + + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> {// 自驾中 + this.viewCallback?.stopAutopilotAnimation() + this.viewCallback?.inAutopilot() + } + + IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING -> {// 平行驾驶中 + this.viewCallback?.stopAutopilotAnimation() + this.viewCallback?.inAutopilot() + } } - } - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING-> {// 自驾中 - this.viewCallback?.stopAutopilotAnimation() + }else{ this.viewCallback?.inAutopilot() } - IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING-> {// 平行驾驶中 - this.viewCallback?.stopAutopilotAnimation() - this.viewCallback?.inRemoteDriver() + } + + }else { + // 正在起自驾过程中 + // 自驾状态变化为非自驾状态 + // 或者 + // FSM 状态改为不能启动自驾 + // 按照启动自驾失败计算 + if (isPalyStartAni.get() && + (!CallerAutoPilotControlManager.isCanStartAutopilot(false) + || OchAutoPilotStatusListenerManager.autopilotState != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) + ) { + OchChainLogManager.writeChainLog( + "自驾信息", + "正在起自驾过程中、自驾状态变化切为非自驾状态或者FSM 状态改为不能启动自驾" + ) + startAutopilotFail() + return + } + + BizLoopManager.runInMainThread { + OchChainLogManager.writeChainLog( + "自驾信息", + "自驾状态:${OchAutoPilotStatusListenerManager.autopilotState} 能否启动自驾:${ + CallerAutoPilotControlManager.isCanStartAutopilot(false) + }" + ) + when (OchAutoPilotStatusListenerManager.autopilotState) { + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {// 不可用 不可启动自驾 + this.viewCallback?.autopilotDisable() + } + + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> { + if (CallerAutoPilotControlManager.isCanStartAutopilot(false) && OchAutoPilotStatusListenerManager.canStartAutopilotFromFSM) {// 不可用 + this.viewCallback?.canStartAutopilot() + } else {// 部分可用 + this.viewCallback?.autopilotDisable() + } + } + + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> {// 自驾中 + this.viewCallback?.stopAutopilotAnimation() + this.viewCallback?.inAutopilot() + } + + IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING -> {// 平行驾驶中 + this.viewCallback?.stopAutopilotAnimation() + this.viewCallback?.inRemoteDriver() + } } } } @@ -144,7 +239,7 @@ class AutopilotStateModel : ViewModel(), IOchAutopilotStatusListener, ILineCall * 条件过滤完成 正式进入启动自驾状态 */ override fun sendStartAutopilotSuccess() { - OchChainLogManager.writeChainLog("自驾信息","启动自驾成功") + OchChainLogManager.writeChainLog("自驾信息","发送启动自驾信息到底盘成功") BizLoopManager.runInMainThread { this.viewCallback?.startAutopilotAnimation() isPalyStartAni.set(true) @@ -169,6 +264,12 @@ class AutopilotStateModel : ViewModel(), IOchAutopilotStatusListener, ILineCall } } + /** + * 1、正在起自驾过程中、自驾状态变化切为非自驾状态或者FSM 状态改为不能启动自驾 + * 2、debug状态下5s后自动按照失败计算 + * 3、超时失败 + * 4、底盘明确告知启动失败 + */ private fun startAutopilotFail(){ BizLoopManager.runInMainThread{ this.viewCallback?.stopAutopilotAnimation() diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java index 53c9f0cbb6..7414400a0d 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java @@ -182,7 +182,7 @@ public class OrderModel { new IReceivedMsgListener() { @Override public void onFusionColor(boolean fusionColor) { - IReceivedMsgListener.super.onFusionColor(fusionColor); + } @Override From 961e8953e8690e6bad7e33a6ca011f988bc8f343 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Thu, 5 Dec 2024 16:17:50 +0800 Subject: [PATCH 06/22] =?UTF-8?q?[6.8.2][Opt]=E6=96=B0=E5=A2=9E=E8=AF=AD?= =?UTF-8?q?=E9=9F=B3=E5=90=88=E6=88=90=E7=9A=84P2=E7=BA=A7=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/commons/voice/AIAssist.java | 13 +++++++------ .../main/java/com/mogo/tts/iflytek/IFlyTekTts.kt | 5 +++++ .../src/main/java/com/mogo/tts/pad/PadTTS.java | 7 ++++++- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java index f5d52c7bfd..e0df6f7ff4 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java @@ -24,10 +24,11 @@ public class AIAssist { private static volatile AIAssist sInstance; - public static final int LEVEL0 = 3;//P0 - public static final int LEVEL1 = 2;//P1 - public static final int LEVEL2 = 1;//P2 - public static final int LEVEL3 = 0;//P3 + public static final int LEVEL0 = 4;//P0 + public static final int LEVEL1 = 3;//P1 + public static final int NEW_LEVEL_2 = 2;// P2 + public static final int LEVEL2 = 1;//P3 + public static final int LEVEL3 = 0;//P4 private IMogoTTS mTTS; private IGlobalTtsCallback mTTSCallback; @@ -144,7 +145,7 @@ public class AIAssist { } /** - * 等级由低到高为0、1、2、3,分别对应p3、p2、p1、p0 + * 等级由低到高为0、1、2、3、4,分别对应p4、p3、p2、p1、p0(已更新) * * @param text * @param level @@ -159,7 +160,7 @@ public class AIAssist { * 支持多语言的Tts * * @param ttsEntity: 多语言Entity - * @param level: 等级由低到高为0、1、2、3,分别对应p3、p2、p1、p0 + * @param level: 等级由低到高为0、1、2、3、4,分别对应p4、p3、p2、p1、p0(已更新) * @param callback */ public void speakMultiLangTTSWithLevel(MultiLangTtsEntity ttsEntity, int level, IMogoTTSCallback callback) { diff --git a/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt b/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt index b56aa18d54..4405d45928 100644 --- a/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt +++ b/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt @@ -234,6 +234,9 @@ class IFlyTekTts : IMogoTTS, InitListener { d(TAG, "插入消息:$ttsEntity,level为:$ttsLevel") insertTts(ttsEntity, ttsLevel) return + } else if (ttsLevel == 2) { + d(TAG, "已有p2级别在播报,新内容直接丢弃!") + return } else { // 打断并合成新的 stopTts() @@ -252,6 +255,8 @@ class IFlyTekTts : IMogoTTS, InitListener { d(TAG, "===================") d(TAG, "插入消息:$ttsEntity,level为:$ttsLevel") insertTts(ttsEntity, ttsLevel) + } else if (ttsLevel == 2) { + d(TAG, "已有高级别在播报,新内容直接丢弃!") } return } diff --git a/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java b/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java index eaeea17eb0..57bf744cfd 100644 --- a/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java +++ b/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java @@ -413,7 +413,10 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack { CallerLogger.d(TAG, "插入消息:" + ttsEntity + ",level为:" + ttsLevel); insertTts(ttsEntity, ttsLevel); return; - } else { + } else if (ttsLevel == 2) { + CallerLogger.d(TAG, "已有p2级别在播报,新内容直接丢弃!"); + return; + } else { // 打断并合成新的 stopTts(); CallerLogger.d(TAG, "非Level1同级别打断!"); @@ -431,6 +434,8 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack { CallerLogger.d(TAG, "==================="); CallerLogger.d(TAG, "插入消息:" + ttsEntity + ",level为:" + ttsLevel); insertTts(ttsEntity, ttsLevel); + } else if (ttsLevel == 2) { + CallerLogger.d(TAG, "已有高级别在播报,新内容直接丢弃!"); } return; } From 6313be710e4edae2370c2509b3d128e5ccdb3f48 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Thu, 5 Dec 2024 17:53:29 +0800 Subject: [PATCH 07/22] [6.8.2] change the voice --- .../biz/v2x/busstation/PassBusStationEventManager.kt | 5 +---- .../biz/v2x/redlightwarning/RedLightWarningManager.kt | 4 ++-- .../mogo/eagle/function/biz/v2x/v2n/V2XEventManager.kt | 3 ++- .../eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt | 9 +++++---- .../v2n/scenario/scene/road/V2XRoadEventScenario.java | 3 ++- .../scenario/scene/warning/V2XFrontWarningScenario.java | 3 ++- .../com/mogo/eagle/function/biz/v2x/vip/VipCarManager.kt | 2 +- .../mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt | 2 +- .../mogo/eagle/core/function/view/RoadCrossRoamView.kt | 2 +- .../com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt | 8 ++++---- .../core/function/api/hmi/warning/IMoGoHmiProvider.kt | 2 +- .../eagle/core/function/call/hmi/CallerHmiManager.kt | 5 ++++- 12 files changed, 26 insertions(+), 22 deletions(-) diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/busstation/PassBusStationEventManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/busstation/PassBusStationEventManager.kt index 9d05d7436b..4efb757a18 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/busstation/PassBusStationEventManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/busstation/PassBusStationEventManager.kt @@ -180,10 +180,7 @@ object PassBusStationEventManager : IMoGoChassisLocationWGS84Listener { it.notifyDistance ), isDriverScreen, - String.format( - EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_USECASE_ROAD_BUS_STATION.poiType), - it.notifyDistance - ), + EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_USECASE_ROAD_BUS_STATION.poiType), UriUtils.res2Uri( EventTypeEnumNew.getPoiTypeBg( EventTypeEnumNew.TYPE_USECASE_ROAD_BUS_STATION.poiType, diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/redlightwarning/RedLightWarningManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/redlightwarning/RedLightWarningManager.kt index b091bd6e04..5283eb0ce0 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/redlightwarning/RedLightWarningManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/redlightwarning/RedLightWarningManager.kt @@ -212,7 +212,7 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener, ) ) ) - CallerHmiManager.warningV2X(EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType, EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.content, EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.tts, isFromObu = false) + CallerHmiManager.warningV2X(EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType, EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.content, EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.tts) } } @@ -242,7 +242,7 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener, ) ) ) - CallerHmiManager.warningV2X(EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType, content, tts, isFromObu = false) + CallerHmiManager.warningV2X(EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType, content, tts) } } diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/V2XEventManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/V2XEventManager.kt index 1ce090ad8e..97c3bae91d 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/V2XEventManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/V2XEventManager.kt @@ -69,6 +69,7 @@ import mogo.v2x.MogoV2X import java.nio.charset.Charset import java.util.concurrent.CopyOnWriteArrayList import java.util.concurrent.CopyOnWriteArraySet +import java.util.concurrent.TimeUnit import java.util.concurrent.atomic.AtomicBoolean object V2XEventManager : IMoGoChassisLocationGCJ02Listener, IV2XCallback, @@ -250,7 +251,7 @@ object V2XEventManager : IMoGoChassisLocationGCJ02Listener, IV2XCallback, tts, null, ALERT_WARNING_TOP, - isFromObu = false + TimeUnit.SECONDS.toMillis(5) ) } } diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt index 6f0e2e5696..ce3683c694 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt @@ -159,8 +159,9 @@ internal object V2NIdentifyDrawer: IEventDismissListener { } } } - val content = "发现前方${distance.toInt()}米${ if (poiType == EventTypeEnumNew.TYPE_SOCKET_ROAD_SHIGONG.poiType) "车道施工" else "车道事故" }" - val tts = "$content, ${SkinResources.getInstance().getString(R.string.operation_platform_name)}提醒您小心行人及来车" + val contentType = if (poiType == EventTypeEnumNew.TYPE_SOCKET_ROAD_SHIGONG.poiType) "道路施工" else "道路事故" + val content = "前方${distance.toInt()}米有$contentType" + val tts = "${SkinResources.getInstance().getString(R.string.operation_platform_name)}发现前方$contentType, 提醒您注意行人及来车" V2XBizTrace.onAck(TAG, "绘制poi事件:$poiType") saveMsgBox( MsgBoxBean( @@ -237,7 +238,7 @@ internal object V2NIdentifyDrawer: IEventDismissListener { } // 弹事件框 val alertContent = String.format(EventTypeEnumNew.getAlarmContent(EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType), distance.toInt()) - val alertTts = String.format(EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType), distance.toInt()) + val alertTts = EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType) CallerRoadV2NEventWindowListenerManager.showLiveVideo( newEventId, event.timestamp, @@ -363,7 +364,7 @@ internal object V2NIdentifyDrawer: IEventDismissListener { } // 弹事件框 val alertContent = String.format(EventTypeEnumNew.getAlarmContent(EventTypeEnumNew.TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType), distance.toInt()) - val alertTts = String.format(EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType), distance.toInt()) + val alertTts = EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType) CallerRoadV2NEventWindowListenerManager.showLiveVideo( data.eventId, data.timestamp, diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XRoadEventScenario.java b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XRoadEventScenario.java index 72b15cf6f7..815ef4eac3 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XRoadEventScenario.java +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XRoadEventScenario.java @@ -1,5 +1,6 @@ package com.mogo.eagle.function.biz.v2x.v2n.scenario.scene.road; +import com.mogo.commons.voice.AIAssist; import com.mogo.eagle.core.data.enums.CommunicationType; import com.mogo.eagle.core.data.enums.DataSourceType; import com.mogo.eagle.core.data.enums.EventTypeEnumNew; @@ -133,7 +134,7 @@ public class V2XRoadEventScenario extends AbsV2XScenario imp ); CallerHmiManager.INSTANCE.warningV2X(poiType, alarmText, ttsText, this,WarningDirectionEnum.ALERT_WARNING_TOP, - TimeUnit.SECONDS.toMillis(5), false); + TimeUnit.SECONDS.toMillis(5), AIAssist.LEVEL2, false); //消息埋点 V2XEventAnalyticsManager.INSTANCE.triggerV2XEvent(poiType,alarmText,ttsText, DataSourceType.AICLOUD, CommunicationType.V2N); } diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/warning/V2XFrontWarningScenario.java b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/warning/V2XFrontWarningScenario.java index 6de3fb5893..f64e97698b 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/warning/V2XFrontWarningScenario.java +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/warning/V2XFrontWarningScenario.java @@ -9,6 +9,7 @@ import android.text.style.ForegroundColorSpan; import android.util.Log; import androidx.annotation.Nullable; +import com.mogo.commons.voice.AIAssist; import com.mogo.eagle.core.data.enums.CommunicationType; import com.mogo.eagle.core.data.enums.DataSourceType; import com.mogo.eagle.core.data.enums.EventTypeEnumNew; @@ -87,7 +88,7 @@ public class V2XFrontWarningScenario extends AbsV2XScenario implements IMoGoChas CallerHmiManager.INSTANCE.warningV2X(v2xType + "", getAlertContentForFrontWarning(mMarkerEntity), mMarkerEntity.getTts(), this,getDirection(), - TimeUnit.SECONDS.toMillis(5), false); + TimeUnit.SECONDS.toMillis(5), AIAssist.LEVEL2, false); //消息埋点 V2XEventAnalyticsManager.INSTANCE.triggerV2XEvent(v2xType,getAlertContentForFrontWarning(mMarkerEntity).toString(), mMarkerEntity.getTts(), DataSourceType.AICLOUD, CommunicationType.V2N); diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/vip/VipCarManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/vip/VipCarManager.kt index 9ede3299a7..80077b8cce 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/vip/VipCarManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/vip/VipCarManager.kt @@ -271,7 +271,7 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe CallerMsgBoxManager.saveMsgBox( MsgBoxBean(MsgBoxType.V2X, V2XMsg(v2xType, alertContent.toString(), ttsContent,CommunicationType.V2N.name)) ) - CallerHmiManager.warningV2X(v2xType, alertContent, ttsContent, isFromObu = false) + CallerHmiManager.warningV2X(v2xType, alertContent, ttsContent) V2XEventAnalyticsManager.triggerV2XEvent(v2xType, alertContent.toString(), ttsContent,DataSourceType.AICLOUD,CommunicationType.V2N) } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt index 19f3ce8003..66f4a3c2a7 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt @@ -151,7 +151,7 @@ class MoGoHmiProvider : IMoGoHmiProvider { * 不展示顶部弹窗,其它保留 */ @Synchronized - override fun warningV2X(v2xType: String, alertContent: CharSequence?, ttsContent: String?, listener: IMoGoWarningStatusListener?, direction: WarningDirectionEnum, expireTime: Long, isFromObu: Boolean) { + override fun warningV2X(v2xType: String, alertContent: CharSequence?, ttsContent: String?, listener: IMoGoWarningStatusListener?, direction: WarningDirectionEnum, expireTime: Long, newLevel: Int, isFromObu:Boolean) { if (isFromObu) { // 修改: 只有来自obu的事件这样处理 //30秒内同一个事件只出现一次 TODO 临时添加,后面宏宇统一在数据中心处理 diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt index c8179001ee..16ac126899 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt @@ -237,7 +237,7 @@ class RoadCrossRoamView @JvmOverloads constructor( SkinResources.getInstance().getString(R.string.operation_platform_name) }为您提供路口全息影像,助力出行" } - AIAssist.getInstance(context).speakTTSVoice(disStr) + AIAssist.getInstance(context).speakTTSVoiceWithLevel(disStr, AIAssist.NEW_LEVEL_2) } CallerHmiViewControlListenerManager.invokeV2XEvent(View.VISIBLE, TAG) CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.ROAD) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt index 95ff2b1b73..b357e97cad 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt @@ -464,7 +464,7 @@ enum class EventTypeEnumNew( "通过公交站", poiTypeSrcVr = R.drawable.icon_v2x_bus_station_driver, content = "前方%s米有公交站", - tts = "前方%s米有公交站,${SkinResources.getInstance().getString(R.string.operation_platform_name)}提醒您小心右侧行人及来车" + tts = "${SkinResources.getInstance().getString(R.string.operation_platform_name)}发现前方公交站,提醒您注意右侧行人及来车" ), TYPE_ATTENTION_CONFLUENCE( 44.toString(), @@ -517,8 +517,8 @@ enum class EventTypeEnumNew( "100062", "他车倒车/逆行", poiTypeSrcVr = R.drawable.icon_v2x_other_retrograde_vehicle_driver, - content = "前方%s米有车辆异常倒车或逆行", - tts = "前方%s米有车辆异常倒车或逆行,${SkinResources.getInstance().getString(R.string.operation_platform_name)}提醒您注意观察小心通过" + content = "前方%s米有他车倒车或逆行", + tts = "${SkinResources.getInstance().getString(R.string.operation_platform_name)}发现前方有异常车辆,提醒您注意观察 小心通过" ), TYPE_SOCKET_ROAD_GREE_WAVE( "100063", @@ -532,7 +532,7 @@ enum class EventTypeEnumNew( "行人横穿", poiTypeSrcVr = View.NO_ID, content = "前方%s米有行人/非机动车横穿", - tts = "前方%s米有行人/非机动车横穿,${SkinResources.getInstance().getString(R.string.operation_platform_name)}提醒您提前减速,注意观察,小心通过" + tts = "${SkinResources.getInstance().getString(R.string.operation_platform_name)}发现前方有行人或非机动车横穿,提醒您注意观察,小心通过" ), TYPE_ERROR( 0.toString(), diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt index a12e2d146d..a9d81ccb93 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt @@ -25,7 +25,7 @@ interface IMoGoHmiProvider :IProvider{ /** * 不展示顶部弹窗,其它保留 */ - fun warningV2X(v2xType: String, alertContent: CharSequence?, ttsContent: String?, listener: IMoGoWarningStatusListener?, direction: WarningDirectionEnum, expireTime: Long, isFromObu: Boolean) + fun warningV2X(v2xType: String, alertContent: CharSequence?, ttsContent: String?, listener: IMoGoWarningStatusListener?, direction: WarningDirectionEnum, expireTime: Long, newLevel: Int, isFromObu:Boolean) /** * 展示指定方位上的红框预警 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 6af31878c4..853f620eb5 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 @@ -4,6 +4,7 @@ import android.content.Context import android.view.View import android.view.ViewGroup import com.alibaba.android.arouter.launcher.ARouter +import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean import com.mogo.eagle.core.data.biz.notice.NoticeNormalData import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStylePushData @@ -50,7 +51,8 @@ object CallerHmiManager { listenerIMoGo: IMoGoWarningStatusListener? = null, direction: WarningDirectionEnum = ALERT_WARNING_NON, expireTime: Long = 5000L, - isFromObu: Boolean, + newLevel: Int = AIAssist.LEVEL2, + isFromObu :Boolean = false ) { hmiProviderApi?.warningV2X( v2xType, @@ -59,6 +61,7 @@ object CallerHmiManager { listenerIMoGo, direction, expireTime, + newLevel, isFromObu ) } From 26d3afea114baf0818f380f208047657f6621f6d Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 5 Dec 2024 18:46:39 +0800 Subject: [PATCH 08/22] =?UTF-8?q?[6.8.2]=20[fix]=20[=E9=AA=8C=E8=B7=AF?= =?UTF-8?q?=E9=80=BB=E8=BE=91=20=E6=B7=BB=E5=8A=A0=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=9C=A8=E8=AE=A2=E5=8D=95=E4=B8=AD]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taxi/ui/routing/routingrunning/RoutingRunningModel.kt | 4 ++++ .../taxi/ui/routing/routingselect/RoutingSelectModel.kt | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingrunning/RoutingRunningModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingrunning/RoutingRunningModel.kt index 03ed0603fd..a8a27c949d 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingrunning/RoutingRunningModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingrunning/RoutingRunningModel.kt @@ -5,6 +5,7 @@ import com.mogo.commons.AbsMogoApplication import com.mogo.commons.module.status.MogoStatusManager import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager +import com.mogo.eagle.core.function.call.och.CallerEagleBaseFunctionCall4OchManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils @@ -164,6 +165,9 @@ class RoutingRunningModel : ViewModel(), IDistanceListener { LineManager.setLineInfo(null) LineManager.setContraiInfo(null) LineManager.setStartAndEndStation(null,null) + + CallerEagleBaseFunctionCall4OchManager.updateOrderStatus(false) + // 设置灰度路线任务执行状态,切换模式时判断使用 MogoStatusManager.getInstance().setTaxiUnmanedDriverLineRoutingPerformTask(TAG, false) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingSelectModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingSelectModel.kt index 4cceffdd64..ae10c1a8b2 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingSelectModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingSelectModel.kt @@ -4,6 +4,7 @@ import androidx.lifecycle.ViewModel import com.mogo.commons.AbsMogoApplication import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager +import com.mogo.eagle.core.function.call.och.CallerEagleBaseFunctionCall4OchManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils @@ -155,7 +156,7 @@ class RoutingSelectModel : ViewModel() { LineManager.setLineInfo(LineInfo(grayLineBean.lineId?:0L,grayLineBean.lineName?:"", orderId = "${data.taskId}")) LineManager.setContraiInfo(contrailBean.toContraiInfo()) LineManager.setStartAndEndStation(grayLineBean.startSite?.toBusStationBean(),grayLineBean.endSite?.toBusStationBean()) - + CallerEagleBaseFunctionCall4OchManager.updateOrderStatus(true) viewCallback?.onStartGrayTaskAndQueryContrailSuccess(data) // Routing 从这里解析出经停信息,轨迹信息,并调用下载轨迹接口 From 8d84b471bc2135f2c4a4e978ccaff6b6bdd12a7f Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 5 Dec 2024 18:56:22 +0800 Subject: [PATCH 09/22] =?UTF-8?q?[6.8.2]=20[fea]=20[=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=98=E6=9B=B4]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index c1845175ff..9f3a269301 100644 --- a/gradle.properties +++ b/gradle.properties @@ -92,8 +92,8 @@ WEBSOCKET_VERSION=1.1.7 applicationId=com.mogo.launcer applicationName=IntelligentPilot # RoboBus司机端:2.5.1;RoboTaxi司机端:2.5.1;RoboTaxi乘客端:1.0.0 -versionCode=6008000 -versionName=6.8.0 +versionCode=6008002 +versionName=6.8.2 ################# 新架构模块Maven版本管理 ################# MOGO_CORE_FUNCTION_HMI_VERSION=0.0.58.10 @@ -151,7 +151,7 @@ MATRIX_VERSION=2.0.8 # 公交模式司机端版本号 -DRIVER_VERSION=6.8.0 +DRIVER_VERSION=6.8.2 # 公交模式乘客端端版本号 -PASSENGER_VERSION=5.8.0 +PASSENGER_VERSION=5.8.2 From e2c01d1ff9818b986bb075f3c488e08f58593484 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Thu, 5 Dec 2024 19:35:49 +0800 Subject: [PATCH 10/22] [6.8.2]open fusion color --- .../java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt index c19a7adb21..867271d80e 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt @@ -113,7 +113,7 @@ object FunctionBuildConfig { */ @Volatile @JvmField - var isFusionColor = false + var isFusionColor = true /** * 是否开启obu rv预警感知物融合功能 , 仅大理,烟台交付项目 From 16da606e729546cc2d245c682075ba0d8108e308 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Fri, 6 Dec 2024 11:00:35 +0800 Subject: [PATCH 11/22] =?UTF-8?q?[6.8.2]=E5=8E=BB=E6=8E=89taxi=E4=B9=98?= =?UTF-8?q?=E5=AE=A2=E9=A2=9C=E8=89=B2=E5=8F=98=E5=B9=BB=E7=9A=84=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E7=A6=81=E6=AD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/business/identify/TrackerSourceFilterHelper.kt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceFilterHelper.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceFilterHelper.kt index ba8ae40d2f..2c835595b2 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceFilterHelper.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceFilterHelper.kt @@ -56,11 +56,6 @@ object TrackerSourceFilterHelper { } fun getDefaultColor(data: TrackedObject): String { - if (isTaxi(FunctionBuildConfig.appIdentityMode) && - isPassenger(FunctionBuildConfig.appIdentityMode) - ) { - return "" - } var color = "" if (!FunctionBuildConfig.isDrawUnknownIdentifyData && data.type == TrafficTypeEnum.TYPE_TRAFFIC_ID_WEI_ZHI.type From 1e962ebce3df0d388f6e0878af1e358f6c9d6f6c Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 6 Dec 2024 11:04:54 +0800 Subject: [PATCH 12/22] =?UTF-8?q?[6.8.2]=20[fix]=20[=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E4=BF=AE=E6=94=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/manager/autopilot/trajectory/TrajectoryManager.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/trajectory/TrajectoryManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/trajectory/TrajectoryManager.kt index 8e08e36495..c3f9591659 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/trajectory/TrajectoryManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/trajectory/TrajectoryManager.kt @@ -133,7 +133,7 @@ object TrajectoryManager : IMoGoPlanningRottingListener { } private fun writeTrajectoryLog(message:String){ - writeChainLog("轨迹监控", "再次发起下载", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY) + writeChainLog("轨迹监控", message, true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY) } } \ No newline at end of file From bacc19dcea8e7aa8e670ec285a45ce03e864c0b7 Mon Sep 17 00:00:00 2001 From: renwj Date: Fri, 6 Dec 2024 11:15:09 +0800 Subject: [PATCH 13/22] [6.8.2][JavaCrash] crash fix --- .../zhjt/mogo_core_function_devatools/status/ui/StatusView.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt index 5594c5f677..ccd7fbba6c 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt @@ -29,6 +29,7 @@ internal class StatusView(private val model: StatusModel, ctx: Context): Constra private var observer: Observer>>? = null init { LayoutInflater.from(context).inflate(R.layout.layout_status_bar, this, true) + layoutTransition = null rv = findViewById(R.id.rv) init() } From 2005662b0c3fc7d3cc266836acbfefcac70b9399 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 6 Dec 2024 15:17:33 +0800 Subject: [PATCH 14/22] =?UTF-8?q?[6.8.2]=20[fix]=20[=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E7=A0=81=E5=85=A8=E6=97=A5=E5=BF=97]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/biz/login/model/LoginModel.kt | 1 + .../java/com/mogo/och/biz/login/presenter/LoginPresenter.kt | 2 ++ .../src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt | 1 + 3 files changed, 4 insertions(+) diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt index 1b3b4001ce..71f88629c5 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt @@ -106,6 +106,7 @@ object LoginModel { OchChainLogManager.writeChainLog("登录页面","获取验证码 mContext${mContext}") }else { mContext?.let { + OchChainLogManager.writeChainLog("登录页面","网络请求去获取验证码") OchCommonServiceManager.getPhoneCode(it, phone, object : OchCommonServiceCallback { override fun onSuccess(data: BaseData?) { diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt index ba519c5bfb..542b1d3eab 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt @@ -49,7 +49,9 @@ class LoginPresenter(view: LoginFragment?) : Presenter(view), IT fun getPhoneCode(phone:String){ + OchChainLogManager.writeChainLog("登录页面","获取验证码${phone}") if(!LoginModel.hasInit()){ + OchChainLogManager.writeChainLog("登录页面","LoginModel没有初始化去初始化") initListeners() } if (!RegexUtils.isMobileExact(phone)) { diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt index d8617b482e..ee8ecf30cb 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt @@ -136,6 +136,7 @@ class LoginFragment : MvpFragment(), ILoginView continuousClick() } biz_actv_login_get_code.setOnClickListener { + OchChainLogManager.writeChainLog("登录页面","点击获取验证码") if(mPresenter==null){ OchChainLogManager.writeChainLog("司机登录页面","mPresenter=${mPresenter}") }else{ From 8600d61086b81863c3d835961a31478c164fdefc Mon Sep 17 00:00:00 2001 From: aibingbing Date: Fri, 6 Dec 2024 17:46:54 +0800 Subject: [PATCH 15/22] =?UTF-8?q?[=E6=95=B0=E6=8D=AE=E4=B8=8A=E8=BD=A6]=20?= =?UTF-8?q?fix:=20=E6=81=A2=E5=A4=8D=E8=A2=AB=E5=88=A0=E9=99=A4=E7=9A=84?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../res/m2/layout/shuttle_p_m2_fragment.xml | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/m2/layout/shuttle_p_m2_fragment.xml b/OCH/shuttle/passenger_weaknet/src/main/res/m2/layout/shuttle_p_m2_fragment.xml index cb409b7a2b..81567e8f78 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/res/m2/layout/shuttle_p_m2_fragment.xml +++ b/OCH/shuttle/passenger_weaknet/src/main/res/m2/layout/shuttle_p_m2_fragment.xml @@ -146,6 +146,39 @@ app:layout_constraintBottom_toTopOf="@+id/video_fragment" app:layout_constraintEnd_toEndOf="parent" /> + + + + + + + + Date: Mon, 9 Dec 2024 14:17:37 +0800 Subject: [PATCH 16/22] =?UTF-8?q?[6.8.2]=E4=B9=98=E5=AE=A2=E5=B1=8F?= =?UTF-8?q?=E6=B0=94=E6=B3=A1=E6=80=81=E6=B6=88=E6=81=AF=E7=9B=92=E5=AD=90?= =?UTF-8?q?=E4=B8=8D=E5=B1=95=E7=A4=BAV2X=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/hmi/ui/msgbox/BusPassengerMsgBoxBubbleView.kt | 2 +- .../mogo/eagle/core/function/hmi/ui/msgbox/MBoxBubbleView.kt | 2 +- .../mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxBubbleView.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/BusPassengerMsgBoxBubbleView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/BusPassengerMsgBoxBubbleView.kt index e867ee032b..ed9c9303bc 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/BusPassengerMsgBoxBubbleView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/BusPassengerMsgBoxBubbleView.kt @@ -54,7 +54,7 @@ class BusPassengerMsgBoxBubbleView @JvmOverloads constructor( override fun onDataChanged(category: MsgCategory, msgBoxList: MsgBoxBean){ UiThreadHandler.post({ if(category == MsgCategory.NOTICE){ - if(msgBoxList.type == MsgBoxType.NOTICE || msgBoxList.type == MsgBoxType.V2X + if(msgBoxList.type == MsgBoxType.NOTICE || msgBoxList.type == MsgBoxType.OBU || msgBoxList.type == MsgBoxType.OPERATION){ MsgBoxConfig.noticeList.add(msgBoxList) if(isShowData){ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MBoxBubbleView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MBoxBubbleView.kt index 37e6065841..f581c4f496 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MBoxBubbleView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MBoxBubbleView.kt @@ -57,7 +57,7 @@ class MBoxBubbleView @JvmOverloads constructor( override fun onDataChanged(category: MsgCategory, msgBoxList: MsgBoxBean) { UiThreadHandler.post({ if(category == MsgCategory.NOTICE){ - if(msgBoxList.type == MsgBoxType.NOTICE || msgBoxList.type == MsgBoxType.V2X + if(msgBoxList.type == MsgBoxType.NOTICE || msgBoxList.type == MsgBoxType.OBU || msgBoxList.type == MsgBoxType.OPERATION){ MsgBoxConfig.noticeList.add(msgBoxList) if(isShowData){ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxBubbleView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxBubbleView.kt index b360e4d5fa..6fc7280b14 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxBubbleView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxBubbleView.kt @@ -54,7 +54,7 @@ class MMsgBoxBubbleView @JvmOverloads constructor( override fun onDataChanged(category: MsgCategory, msgBoxList: MsgBoxBean) { UiThreadHandler.post({ if(category == MsgCategory.NOTICE){ - if(msgBoxList.type == MsgBoxType.NOTICE || msgBoxList.type == MsgBoxType.V2X + if(msgBoxList.type == MsgBoxType.NOTICE || msgBoxList.type == MsgBoxType.OBU || msgBoxList.type == MsgBoxType.OPERATION){ update(msgBoxList) } From 8f53fb3e114c57ae61a4594387b86f6a6552c017 Mon Sep 17 00:00:00 2001 From: renwj Date: Mon, 9 Dec 2024 14:47:50 +0800 Subject: [PATCH 17/22] =?UTF-8?q?[6.8.2][V2N]=20=E5=8F=B8=E4=B9=98?= =?UTF-8?q?=E5=B1=8F=E9=81=93=E8=B7=AF=E6=96=BD=E5=B7=A5=E4=B8=8E=E9=81=93?= =?UTF-8?q?=E8=B7=AF=E4=BA=8B=E6=95=85=E7=9A=843d=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E7=BB=9F=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/eagle/core/data/enums/EventTypeEnumNew.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt index b357e97cad..9eec609a5e 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt @@ -821,14 +821,15 @@ enum class EventTypeEnumNew( FOURS_ICE.poiType -> R.raw.v2x_daolujiebing FOURS_PONDING.poiType -> R.raw.v2x_daolujishui GHOST_PROBE.poiType -> R.raw.v2x_guzhangqiuzhu - TYPE_SOCKET_ROAD_SHIGONG.poiType -> if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) R.raw.shigong_passenger else R.raw.v2x_shigong_warning + TYPE_SOCKET_ROAD_SHIGONG.poiType -> R.raw.v2x_shigong_warning TYPE_SOCKET_ROAD_JINGZHI.poiType -> R.raw.v2x_zhangai TYPE_SOCKET_ROAD_SHIGU.poiType -> { - if (AppIdentityModeUtils.isTaxiPassenger(FunctionBuildConfig.appIdentityMode)) { - R.raw.v2x_shigu_sanjiaopai - } else { - R.raw.taxi_sanjiaopai - } +// if (AppIdentityModeUtils.isTaxiPassenger(FunctionBuildConfig.appIdentityMode)) { +// R.raw.v2x_shigu_sanjiaopai +// } else { +// R.raw.taxi_sanjiaopai +// } + R.raw.taxi_sanjiaopai } TYPE_SOCKET_ROAD_CONGESTION.poiType -> R.raw.v2x_yongdu TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType -> if (FunctionBuildConfig.skinMode != 0) TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE_CROSS.traffic3DIconId else TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE_CROSS.traffic3DNightIconId From 49f0d96c07bc30e4938585747d87154918a3ece3 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Mon, 9 Dec 2024 17:23:52 +0800 Subject: [PATCH 18/22] =?UTF-8?q?[6.8.4]=20[fea]=20[=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E9=99=8D=E7=BA=A7=E5=A4=84=E7=90=86]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt index f87a5595e4..2cfc7e93b6 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt @@ -120,6 +120,7 @@ abstract class MyDataBase : RoomDatabase() { .addMigrations(MIGRATION_2_3) .addMigrations(MIGRATION_3_4) .addMigrations(MIGRATION_4_5) + .fallbackToDestructiveMigration() .build() } val ROOT_PATH = Environment.getExternalStorageDirectory().absolutePath + File.separator + "Mogo" + File.separator + "APP_cache" + File.separator //程序外部存储跟目录 From 737126b5e193d7dee3a8803479784b14e0955ea7 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Tue, 10 Dec 2024 12:29:03 +0800 Subject: [PATCH 19/22] =?UTF-8?q?[6.8.2]=E5=86=B7=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E9=81=AE=E7=9B=96=E7=99=BB=E5=BD=95=E9=A1=B5=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/eagle/core/function/hmi/ui/widget/ColdStartView.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartView.kt index 92baa85d2b..bcae1b7776 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartView.kt @@ -803,6 +803,7 @@ class ColdStartView @JvmOverloads constructor( coldStartResultListener?.coldStartSuccess() UiThreadHandler.postDelayed({ currentColdStartSuccess = true + this@ColdStartView.visibility = View.GONE }, 1000) } From e98685fc8a8600b895268d63fe565c3a9c725e75 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 10 Dec 2024 16:23:16 +0800 Subject: [PATCH 20/22] =?UTF-8?q?[6.8.2]=20[fix]=20[=E5=88=B0=E7=AB=99?= =?UTF-8?q?=E5=90=8E=E9=9A=90=E8=97=8F=E5=8F=96=E6=B6=88=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=8C=89=E9=92=AE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt index 4761354f27..11a94cade9 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt @@ -515,9 +515,9 @@ class ItineraryCurrentView: ConstraintLayout, ItineraryCurrentModel.SwtichLineVi } private fun updateOrderUI(order: OrderDetail) { + gourp_order.visibility = View.VISIBLE cancelOrder.visibility = if (order.orderStatus == TaxiOrderStatusEnum.ArriveAtEnd.code ) View.GONE else View.VISIBLE - gourp_order.visibility = View.VISIBLE group_itinerary_info.visibility = View.VISIBLE aciv_task_type_exercise.visibility = View.GONE // orderStatus: 0 订单创建(为派单), 10 已派上司机(司机去往上车点), 20 司机到达上车点, From c050550c46db3d49b24205b429cd4f8becafbf01 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Wed, 11 Dec 2024 16:20:15 +0800 Subject: [PATCH 21/22] [6.8.2] fix data bug --- .../datacenter/autopilot/MoGoAutopilotControlProvider.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt index 6186e5f1cf..6dce39b47c 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt @@ -31,6 +31,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotCarConfigListene import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotControlProvider import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_RAIN import com.mogo.eagle.core.function.api.map.collect.IMoGoMapDataCollectProvider +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarConfigListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerIpcConnectStateToastManager import com.mogo.eagle.core.function.call.cloud.CallerCloudCertManager @@ -164,6 +165,8 @@ class MoGoAutopilotControlProvider : setDemoMode(FunctionBuildConfig.isDemoMode) setFusionColor(FunctionBuildConfig.isFusionColor) setIgnoreConditionDraw(FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData) + sendV2iToPncCmd(FunctionBuildConfig.v2iToPNC) + sendV2nToPncCmd(FunctionBuildConfig.v2nTotalSwitch) msgHandler.synMsgToAllClients() } }, 1000, 10000) From 69ca8d230cf105244d9836b37b71fa603d003ff0 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Wed, 11 Dec 2024 16:23:18 +0800 Subject: [PATCH 22/22] [6.8.2] bug fix --- .../datacenter/autopilot/MoGoAutopilotControlProvider.kt | 2 -- .../autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt index 6dce39b47c..8f626a0b93 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt @@ -165,8 +165,6 @@ class MoGoAutopilotControlProvider : setDemoMode(FunctionBuildConfig.isDemoMode) setFusionColor(FunctionBuildConfig.isFusionColor) setIgnoreConditionDraw(FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData) - sendV2iToPncCmd(FunctionBuildConfig.v2iToPNC) - sendV2nToPncCmd(FunctionBuildConfig.v2nTotalSwitch) msgHandler.synMsgToAllClients() } }, 1000, 10000) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt index 68bc83db76..1011bed827 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt @@ -143,6 +143,8 @@ class MoGoAdasMsgConnectStatusListenerImpl : CallerAutoPilotControlManager.setRainMode(FunctionBuildConfig.isRainMode) // 6.6.2 版本默认开启,与海江确认过,默认发盲区模式 CallerAutoPilotControlManager.sendFusionMode(2) + CallerAutoPilotControlManager.sendV2iToPncCmd(FunctionBuildConfig.v2iToPNC) + CallerAutoPilotControlManager.sendV2nToPncCmd(FunctionBuildConfig.v2nTotalSwitch) } AdasConstants.IpcConnectionStatus.CONNECTING -> {