diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 8ebdf939ae..8329ac38a6 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -36,6 +36,7 @@ class DevaToolsProvider : IDevaToolsProvider { override fun initBiz() { bizConfigCenter.init(mContext!!) +// FuncConfigImpl.init() traceManager.init(mContext!!) MogoLogCatchManager.init(mContext!!) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigImpl.kt index f2c0e0c114..82bd32a5dc 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigImpl.kt @@ -2,6 +2,7 @@ package com.zhjt.mogo_core_function_devatools.funcconfig import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_BEAUTY_MODE +import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_PNC_WARNING import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_RAIN_MODE import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_WARNING_UPLOAD import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.FOUNDATION @@ -26,6 +27,7 @@ object FuncConfigImpl { BIZ_BEAUTY_MODE -> FunctionBuildConfig.isDemoMode = state BIZ_RAIN_MODE -> FunctionBuildConfig.isRainMode = state BIZ_WARNING_UPLOAD -> FunctionBuildConfig.isReportWarning = state + BIZ_PNC_WARNING -> FunctionBuildConfig.isPNCWarning = state } } } 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 8bb0c5577a..dc8647fd0a 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 @@ -41,7 +41,6 @@ import com.mogo.eagle.core.data.obu.ObuStatusInfo import com.mogo.eagle.core.data.report.ReportEntity import com.mogo.eagle.core.data.upgrade.UpgradeVersionEntity import com.mogo.eagle.core.function.api.autopilot.* -import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener.Companion import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListener import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener @@ -62,7 +61,6 @@ import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.ui.logcatch.ILogViewListener import com.mogo.eagle.core.function.hmi.ui.logcatch.LogInfoView import com.mogo.eagle.core.function.hmi.ui.upgrade.UpgradeListAdapter -import com.mogo.eagle.core.function.hmi.ui.widget.BlueToothView import com.mogo.eagle.core.function.hmi.ui.widget.DemoModeView import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils @@ -1860,6 +1858,7 @@ class DebugSettingView @JvmOverloads constructor( override fun updateBizData(type: String, state: Boolean, lock: Boolean, data: String?) { when (type) { BIZ_BEAUTY_MODE -> { + tbIsDemoMode.isClickable = !lock if (lock) { tbIsDemoMode.background = resources.getDrawable(R.drawable.radio_button_lock_background) @@ -1869,6 +1868,7 @@ class DebugSettingView @JvmOverloads constructor( } } BIZ_RAIN_MODE -> { + tbIsRainMode.isClickable = !lock if (lock) { tbIsRainMode.background = resources.getDrawable(R.drawable.radio_button_lock_background) @@ -1878,6 +1878,7 @@ class DebugSettingView @JvmOverloads constructor( } } BIZ_WARNING_UPLOAD -> { + tbReportWarning.isClickable = !lock if (lock) { tbReportWarning.background = resources.getDrawable(R.drawable.radio_button_lock_background) @@ -1887,18 +1888,22 @@ class DebugSettingView @JvmOverloads constructor( } BIZ_BAG_RECORD -> { if (lock) { + btnRecordBag.isClickable = false btnRecordBag.background = resources.getDrawable(R.drawable.radio_button_lock_background) } else { + btnRecordBag.isClickable = true btnRecordBag.requestFocus() btnRecordBag.background = null } } BIZ_FULL_LOG -> { if (lock) { + tbLogCatch.isClickable = false tbLogCatch.background = resources.getDrawable(R.drawable.radio_button_lock_background) } else { + tbLogCatch.isClickable = true tbLogCatch.requestFocus() tbLogCatch.background = null } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index d405d83176..57d2c9111f 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -7,7 +7,10 @@ import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.HmiBuildConfig +import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig +import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsFuncConfigListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.call.obu.CallerOBUManager import com.mogo.eagle.core.function.hmi.R @@ -23,7 +26,11 @@ class SOPSettingView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 -) : ConstraintLayout(context, attrs, defStyleAttr){ +) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoDevaToolsFuncConfigListener { + + companion object{ + const val TAG = "SOPSettingView" + } init { LayoutInflater.from(context).inflate(R.layout.view_sop_setting, this, true) @@ -38,9 +45,10 @@ class SOPSettingView @JvmOverloads constructor( FunctionBuildConfig.isDetouring = isChecked } + tbMarkingObstacles.isChecked = FunctionBuildConfig.isPNCWarning //危险障碍物颜色标记开关 tbMarkingObstacles.setOnCheckedChangeListener { _, isChecked -> - + FunctionBuildConfig.isPNCWarning = isChecked } if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)){ @@ -82,11 +90,6 @@ class SOPSettingView @JvmOverloads constructor( } } - //自车感知到的他车碰撞预警 - tbCollisionWarning.setOnCheckedChangeListener { buttonView, isChecked -> - - } - // 演示模式,上一次勾选的数据 tbDemoMode.isChecked = FunctionBuildConfig.isDemoMode // 演示模式 @@ -168,4 +171,54 @@ class SOPSettingView @JvmOverloads constructor( } + override fun onAttachedToWindow() { + super.onAttachedToWindow() + //添加 业务配置监听 + CallerDevaToolsFuncConfigListenerManager.registerDevaToolsFuncConfigListener( + FuncBizConfig.FOUNDATION, + TAG, + this + ) + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + // 移除 业务配置监听 + CallerDevaToolsFuncConfigListenerManager.unRegisterDevaToolsFuncConfigListener(this) + } + + override fun updateBizData(type: String, state: Boolean, lock: Boolean, data: String?) { + when (type) { + FuncBizConfig.BIZ_BEAUTY_MODE -> { + tbDemoMode.isClickable = !lock + if (lock) { + tbDemoMode.background = + resources.getDrawable(R.drawable.radio_button_lock_background) + } else { + tbDemoMode.background = + resources.getDrawable(R.drawable.radio_button_normal_background_right) + } + } + FuncBizConfig.BIZ_RAIN_MODE -> { + tbRainMode.isClickable = !lock + if (lock) { + tbRainMode.background = + resources.getDrawable(R.drawable.radio_button_lock_background) + } else { + tbRainMode.background = + resources.getDrawable(R.drawable.radio_button_normal_background_right) + } + } + FuncBizConfig.BIZ_PNC_WARNING -> { + tbMarkingObstacles.isClickable = !lock + if (lock) { + tbMarkingObstacles.background = + resources.getDrawable(R.drawable.radio_button_lock_background) + } else { + tbMarkingObstacles.background = + resources.getDrawable(R.drawable.radio_button_normal_background_right) + } + } + } + } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml index 105f81a5cd..d95264b1c7 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml @@ -69,19 +69,6 @@ android:textSize="@dimen/dp_24" app:layout_constraintTop_toBottomOf="@id/tbTrafficLight" /> - - Unit)) { + if(!FunctionBuildConfig.isPNCWarning){ + color.invoke("") + return + } if (FunctionBuildConfig.isBeautyMode) { // 判断物体是否有预警信息 if (pncWarningBeautyTrafficData.containsKey(uuid)) { 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 327e2b186a..15cae7ecf7 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 @@ -156,4 +156,11 @@ object FunctionBuildConfig { @JvmField var isReportWarning = true + /** + * 是否开启PNC障碍物颜色提醒 + */ + @Volatile + @JvmField + var isPNCWarning = true + } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsFuncConfigListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsFuncConfigListenerManager.kt index fc7254e0d7..5b6c8ba255 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsFuncConfigListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsFuncConfigListenerManager.kt @@ -10,7 +10,7 @@ object CallerDevaToolsFuncConfigListenerManager { private val M_DEVA_TOOLS_FUNC_CONFIG_LISTENER: ConcurrentHashMap = ConcurrentHashMap() - private val cacheMap = mutableMapOf>() + private val cacheMap = mutableMapOf>() /** * 添加监听 @@ -28,7 +28,9 @@ object CallerDevaToolsFuncConfigListenerManager { M_DEVA_TOOLS_FUNC_CONFIG_LISTENER["$biz'_'$tag"] = listener cacheMap[biz]?.let { - invokeDevaToolsFuncConfigBizUpdate(biz,it) + if (it.size > 0) { + invokeDevaToolsFuncConfigBizUpdate(biz, it) + } } }