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)
+ }
}
}