add func of pnc warning func config

This commit is contained in:
zhongchao
2022-10-26 18:59:04 +08:00
parent 5fcd887dff
commit e8ce634db3
8 changed files with 86 additions and 27 deletions

View File

@@ -36,6 +36,7 @@ class DevaToolsProvider : IDevaToolsProvider {
override fun initBiz() {
bizConfigCenter.init(mContext!!)
// FuncConfigImpl.init()
traceManager.init(mContext!!)
MogoLogCatchManager.init(mContext!!)
}

View File

@@ -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
}
}
}

View File

@@ -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
}

View File

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

View File

@@ -69,19 +69,6 @@
android:textSize="@dimen/dp_24"
app:layout_constraintTop_toBottomOf="@id/tbTrafficLight"
/>
<!--自车感知到的他车碰撞预警-->
<ToggleButton
android:id="@+id/tbCollisionWarning"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp_10"
android:background="@drawable/radio_button_normal_background_right"
android:textColor="#000"
android:textOff="开启「自车感知到的他车碰撞预警」"
android:textOn="关闭「自车感知到的他车碰撞预警」"
android:textSize="@dimen/dp_24"
app:layout_constraintTop_toBottomOf="@id/tbSpeedLimit"
/>
<ToggleButton
android:id="@+id/tbDemoMode"
@@ -93,7 +80,7 @@
android:textOff="开启美化模式"
android:textOn="关闭美化模式"
android:textSize="@dimen/dp_24"
app:layout_constraintTop_toBottomOf="@id/tbCollisionWarning"
app:layout_constraintTop_toBottomOf="@id/tbSpeedLimit"
/>
<ToggleButton

View File

@@ -2,7 +2,6 @@ package com.mogo.eagle.core.function.map.identify
import android.annotation.SuppressLint
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_PNC_WARNING
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.FOUNDATION
import com.mogo.eagle.core.data.traffic.TrafficData
import com.mogo.eagle.core.data.traffic.threatLevelColor
@@ -112,8 +111,11 @@ object WarningHelper {
return ""
}
@BizConfig(FOUNDATION,"", BIZ_PNC_WARNING)
fun getPncColor(uuid: String, color:((String) -> Unit)) {
if(!FunctionBuildConfig.isPNCWarning){
color.invoke("")
return
}
if (FunctionBuildConfig.isBeautyMode) {
// 判断物体是否有预警信息
if (pncWarningBeautyTrafficData.containsKey(uuid)) {