From bb2d4996fca68bf808aefa7b0bde667cb6c7cd06 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Mon, 8 Sep 2025 10:29:28 +0800 Subject: [PATCH] =?UTF-8?q?[8.2.2][feat]=E6=96=B0=E5=A2=9EB2=E7=BE=8E?= =?UTF-8?q?=E5=8C=96=E5=91=88=E7=8E=B0UI=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../socket/lan/LanSocketManagerJava.java | 4 + .../ui/line/autopilot/status/StatusView.kt | 101 +++++++++++++++--- .../passenger/callback/ICommonCallback.java | 2 + .../weaknet/passenger/model/CommonModel.kt | 27 ++++- .../drawable-nodpi/m2_autopilot_status_in.png | Bin 12284 -> 0 bytes .../res/b2/drawable-nodpi/m2_status_basic.png | Bin 0 -> 18233 bytes .../drawable-nodpi/m2_status_order_auto.png | Bin 0 -> 12537 bytes .../b2/drawable-nodpi/m2_status_parallel.png | Bin 0 -> 17277 bytes ...ot_status_out.png => m2_turn_light_bg.png} | Bin .../src/main/res/b2/layout/m2_autopilot.xml | 4 +- .../layout/shuttle_p_m2_turn_light_status.xml | 2 +- .../autopilot/telematic/TeleMsgHandler.kt | 9 +- .../core/data/config/FunctionBuildConfig.kt | 8 ++ .../api/telematic/IReceivedMsgListener.kt | 2 + .../CallerTelematicListenerManager.kt | 15 +++ 15 files changed, 146 insertions(+), 28 deletions(-) delete mode 100644 OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_autopilot_status_in.png create mode 100644 OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_status_basic.png create mode 100644 OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_status_order_auto.png create mode 100644 OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_status_parallel.png rename OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/{m2_autopilot_status_out.png => m2_turn_light_bg.png} (100%) 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 45539ae9ba..96637fb332 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 @@ -94,4 +94,8 @@ public class LanSocketManagerJava implements IReceivedMsgListener { public void onFusionColor(boolean fusionColor) { } + + @Override + public void onB2DemoMode(boolean isB2DemoMode) { + } } diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/status/StatusView.kt b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/status/StatusView.kt index d298340199..833399171f 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/status/StatusView.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/b2/com/mogo/och/shuttle/weaknet/passenger/ui/line/autopilot/status/StatusView.kt @@ -4,12 +4,18 @@ import android.content.Context import android.util.AttributeSet import androidx.appcompat.widget.AppCompatTextView import androidx.core.content.ContextCompat +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener +import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.och.shuttle.weaknet.passenger.R import com.mogo.och.shuttle.weaknet.passenger.callback.ICommonCallback import com.mogo.och.shuttle.weaknet.passenger.model.CommonModel -class StatusView : AppCompatTextView, ICommonCallback { +class StatusView : AppCompatTextView, ICommonCallback, IReceivedMsgListener { private val TAG = "ItineraryView" @@ -17,31 +23,94 @@ class StatusView : AppCompatTextView, ICommonCallback { constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) - constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super( + context, + attributeSet, + defStyleAttr + ) + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + CallerTelematicListenerManager.addListener(TAG, this) + CommonModel.setRouteLineInfoCallback(TAG, this) + updateAutoIconState(0) + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerTelematicListenerManager.removeListener(TAG) + CommonModel.setRouteLineInfoCallback(TAG, null) + } private fun initView() { } - override fun onVisibilityAggregated(isVisible: Boolean) { - super.onVisibilityAggregated(isVisible) - if(isVisible){ - CommonModel.setRouteLineInfoCallback(TAG,this) - }else{ - CommonModel.setRouteLineInfoCallback(TAG,null) + + override fun onB2DemoMode(isB2DemoMode: Boolean) { + super.onB2DemoMode(isB2DemoMode) + updateAutoIconState(1) + } + + //美化模式状态变更回调 + override fun onDemoMode(isDemoMode: Boolean) { + super.onDemoMode(isDemoMode) + updateAutoIconState(2) + } + + override fun updateInOrderStatus(inOrder: Boolean) { + super.updateInOrderStatus(inOrder) + updateAutoIconState(3) + } + + //自动驾驶状态变更 + override fun updateAutoStatus(state: Int) { + updateAutoIconState(4) + } + + private fun getStateIcon(source: Int): Int { + // 平行驾驶状态下 + val sourceStr = when (source) { + 0 -> "View初始化" + 1 -> "B2美化模式状态变更" + 2 -> "美化模式状态变更" + 3 -> "订单状态变更" + 4 -> "自动驾驶状态变更" + else -> "错误" + } + val autopilotState = CallerAutoPilotStatusListenerManager.getState() + CallerLogger.i( + TAG, + "数据刷新来源=$sourceStr 自动驾驶状态=${autopilotState} 订单状态=${CommonModel.inOrder} 美化模式状态=${FunctionBuildConfig.isDemoMode} B2美化模式状态=${FunctionBuildConfig.isB2DemoMode} " + ) + if (IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING == autopilotState) { + return R.drawable.m2_status_parallel + } + + // 处理非平行驾驶状态的情况 + return when { + // 无订单的情况 + !CommonModel.inOrder -> { + R.drawable.m2_status_basic + } + // 有订单,且美化状态和b2美化状态任意开着 + CommonModel.inOrder && (FunctionBuildConfig.isDemoMode || FunctionBuildConfig.isB2DemoMode) -> { + R.drawable.m2_status_order_auto + } + // 有订单,且美化状态和b2美化状态都关着 + CommonModel.inOrder && !FunctionBuildConfig.isDemoMode && !FunctionBuildConfig.isB2DemoMode -> { + if (autopilotState == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) R.drawable.m2_status_order_auto else R.drawable.m2_status_basic + } + // 覆盖所有可能的情况 + else -> R.drawable.m2_status_basic } } - override fun updateAutoStatus(isAutoPilot: Boolean) { + private fun updateAutoIconState(source: Int) { BizLoopManager.runInMainThread { context?.let { - if (isAutoPilot) { - setTextColor(ContextCompat.getColor(it, R.color.common_FFFFFF)) - background = ContextCompat.getDrawable(it, R.drawable.m2_autopilot_status_in) - } else { - setTextColor(ContextCompat.getColor(it, R.color.common_284F7E)) - background = ContextCompat.getDrawable(it, R.drawable.m2_autopilot_status_out) - } + setTextColor(ContextCompat.getColor(it, R.color.common_FFFFFF)) + background = ContextCompat.getDrawable(it, getStateIcon(source)) } } } diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/callback/ICommonCallback.java b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/callback/ICommonCallback.java index e0b6371ea9..d67aa4ca25 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/callback/ICommonCallback.java +++ b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/callback/ICommonCallback.java @@ -20,6 +20,8 @@ public interface ICommonCallback { */ default void updateAutoStatus(boolean isOpen){} + default void updateAutoStatus(int state){} + default void updateInOrderStatus(boolean inOrder){} default void updateLineStations(List stations){} default void clearCustomPolyline(){} diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt index 213727373d..3d2b106e1d 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt @@ -53,7 +53,7 @@ object CommonModel { private val TAG: String = SceneConstant.M_BUS_P+CommonModel::class.java.simpleName var mContext: Context? = null - + var inOrder = false private var mCommonCallbackList = mutableMapOf() @@ -140,12 +140,12 @@ object CommonModel { override fun onAutopilotStatusResponse(state: Int) { d(TAG, "onAutopilotStatusResponse ===== $state") + mCommonCallbackList.forEach { + it.value.updateAutoStatus(state) + } if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING != state){ //美化模式下且行程中 - if (FunctionBuildConfig.isDemoMode && - mNextStationIndex >= 0 && mNextStationIndex <= mStations.size - 1 - && isGoingToNextStation - ){ + if (FunctionBuildConfig.isDemoMode && inOrder()) { mCommonCallbackList.forEach { it.value.updateAutoStatus(true) } @@ -232,6 +232,21 @@ object CommonModel { mCommonCallbackList.forEach { it.value.showNoTaskView(true) } + dispatchInOrder() + } + + private fun dispatchInOrder() { + val newValue = inOrder() + if (inOrder != newValue) { + inOrder = newValue + mCommonCallbackList.forEach { + it.value.updateInOrderStatus(newValue) + } + } + } + + private fun inOrder(): Boolean { + return mNextStationIndex >= 0 && mNextStationIndex <= mStations.size - 1 && isGoingToNextStation } @@ -278,6 +293,7 @@ object CommonModel { val endStation = mStations[i + 1] startStationVideo(endStation) setTrajectoryStation(startStation, endStation, result.lineId) + dispatchInOrder() return } else if (!station.isLeaving) { if (i == stations.size - 1) { @@ -288,6 +304,7 @@ object CommonModel { mCommonCallbackList.forEach { it.value.updateStationsInfo(stations, i, true) } + dispatchInOrder() return } } diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_autopilot_status_in.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_autopilot_status_in.png deleted file mode 100644 index 15717e08b499977649d94599b1d976a905f4e0b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12284 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 Up0|*U|2prb#TCS=MGOP~AIbZr=>Px# diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_status_basic.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_status_basic.png new file mode 100644 index 0000000000000000000000000000000000000000..15b1644451be4391025738e92844120290783200 GIT binary patch literal 18233 zcmbSzWm8>Eur(fn6C45rcXv2=aCdiihl6WycL^Tc-QC@SyBu5(?r)x3b?*;&KlJqM znW?F%>D}EkYp>c7it-Z32>1vP5D>^xl0TLI>70LJ2M_nJR1993{HGvYlqEzUs;9r7 z{CoImrYU7ECkH|MuMQ6Z8D<3m^WTtvg8xq-AfWRgA)xURGP zobE9PLqG^YNc|L61wvkQ>BN~yxo>-1W@xGDZ7yyu4zyVU16kOIDIv3%CGqPmsD*-v zELVz2AidCGMu`L9==+$0dbtFj$TU&?SPg|!kzR%4i2#jA!2xCnduE1sgR_`N1>Lfb zvT9~#IUW8zpOM@a7Vc^a>i1Qqf2RT7BW6R9ST^sEkt=nNvHbX58~WBeMR5OLh1gv0 zlNkCzvGe)kYsvVVP7jBd^_JXo�^at3%v_LXrc3NRZ>o%1mJ94rfhqS(p=MX}QM_ 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 literal 0 HcmV?d00001 diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_status_parallel.png b/OCH/shuttle/passenger_weaknet/src/main/res/b2/drawable-nodpi/m2_status_parallel.png new file mode 100644 index 0000000000000000000000000000000000000000..45f4ea8ef34b16f4f450fb2f88b066988144f9b5 GIT binary patch literal 17277 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 { - CallerTelematicListenerManager.invokeReceivedMsg( - TelematicConstant.CONTROL_B2_PRETTIFY_SWITCH, - it.body - ) + val value = when (String(it.body)) { + "1" -> true + else -> false + } + CallerTelematicListenerManager.dispatchB2DemoMode(value) } TelematicConstant.SHOW_TRAFFIC_LIGHT -> { 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 fa4cff15a6..5822ca5562 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 @@ -25,6 +25,14 @@ object FunctionBuildConfig { @JvmField var isDemoMode = false + /** + * B2专用美化模式状态 + * 目前仅用于自动驾驶状态UI变更 + */ + @Volatile + @JvmField + var isB2DemoMode = false + /** * 6.2.6版本增加接管提醒开关 * 控制掉自驾、接管类的消息是否展示(包括系统信息接管提醒、fm紧急停车提醒、平行驾驶接管提醒) 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 be29500fef..91057ea4ad 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 @@ -7,5 +7,7 @@ interface IReceivedMsgListener { fun onDemoMode(isDemoMode: Boolean) {} + fun onB2DemoMode(isB2DemoMode: 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/telematic/CallerTelematicListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/telematic/CallerTelematicListenerManager.kt index 8c224788ce..f0286a9a97 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 @@ -58,6 +58,21 @@ object CallerTelematicListenerManager: CallerBase() { } } + fun dispatchB2DemoMode(isB2DemoMode: Boolean) { + if (isB2DemoMode != FunctionBuildConfig.isB2DemoMode) { + FunctionBuildConfig.isB2DemoMode = isB2DemoMode + M_LISTENERS.forEach { + val listener = it.value + try { + listener.onB2DemoMode(isB2DemoMode) + } catch (e: Exception) { + e.printStackTrace() + Log.e(TAG, "转发B2美化模式出现异常:${e.message}") + } + } + } + } + fun dispatchFusionColor(fusionColor: Boolean) { if (fusionColor != FunctionBuildConfig.isFusionColor) { // FunctionBuildConfig.isFusionColor = fusionColor