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 ac1da819b8..e065153e6e 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
@@ -4,7 +4,6 @@ import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
-import android.widget.*
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.config.HmiBuildConfig
@@ -21,18 +20,17 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotGetParamResponseDispatcher
import com.mogo.eagle.core.function.call.devatools.*
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
-import com.mogo.eagle.core.function.call.obu.CallerObuApiManager
import com.mogo.eagle.core.function.hmi.R
-import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
-import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
+import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
+import com.mogo.eagle.core.function.call.obu.CallerObuApiManager
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog.Companion.hmiAction
+import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.zhjt.mogo.adas.data.AdasConstants
import com.zhjt.mogo.adas.data.bean.AdasParam
import kotlinx.android.synthetic.main.view_sop_setting.view.*
-import kotlinx.android.synthetic.main.view_sop_setting.view.tbRouteDynamicEffect
import mogo.telematics.pad.MessagePad
/**
@@ -57,47 +55,30 @@ internal class SOPSettingView @JvmOverloads constructor(
private fun initView() {
sopLayout.setOnClickListener { }
- tbObstacleAvoidance.isChecked = FunctionBuildConfig.isDetouring
- tbObstacleAvoidance.setOnCheckedChangeListener { _, isChecked ->
- hmiAction("SOP 绕障类功能开关",isChecked)
- CallerAutoPilotControlManager.sendDetouring(isChecked)
- FunctionBuildConfig.isDetouring = isChecked
+ //V2X消息设置
+ v2xSetting()
+ //地图效果类设置
+ mapSetting()
+ //与车相关类设置
+ vehicleSetting()
+ //其他类别开关设置
+ otherSetting()
+ }
+
+ /**
+ * V2X消息设置
+ */
+ private fun v2xSetting(){
+ //V2N新链路
+ scNewV2NData.isChecked = FunctionBuildConfig.isNewV2NData
+ scNewV2NData.setOnCheckedChangeListener { _, isChecked ->
+ hmiAction("SOP 是否是V2N新链路(云->工控机->App)",isChecked)
+ FunctionBuildConfig.isNewV2NData = isChecked
}
- tbMarkingObstacles.isChecked = FunctionBuildConfig.isPNCWarning
- tbMarkingObstacles.setOnCheckedChangeListener { _, isChecked ->
- hmiAction("SOP 危险障碍物颜色标记开关",isChecked)
- FunctionBuildConfig.isPNCWarning = isChecked
- }
-
- if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
- tbMarkingObstacles.visibility = View.GONE
- }
-
- tbRouteDynamicEffect.isChecked = HmiBuildConfig.isShowRouteStrategy
- tbRouteDynamicEffect.setOnCheckedChangeListener { _, isChecked ->
- hmiAction("SOP 引导线动态效果",isChecked)
- HmiBuildConfig.isShowRouteStrategy = isChecked
- }
-
- //默认开启
- tbObuWeaknessTrafficSop.isChecked = HmiBuildConfig.isShowObuWeaknessTrafficView
- tbObuWeaknessTrafficSop.setOnCheckedChangeListener { _, isChecked ->
- hmiAction("SOP obu弱势交通控制, ",isChecked)
- HmiBuildConfig.isShowObuWeaknessTrafficView = isChecked
- }
-
- /**
- * 默认关闭
- */
- tbCloudWeaknessTrafficSop.isChecked = HmiBuildConfig.isShowCloudWeaknessTrafficView
- tbCloudWeaknessTrafficSop.setOnCheckedChangeListener { _, isChecked ->
- hmiAction("SOP 云端弱势交通控制, ",isChecked)
- HmiBuildConfig.isShowCloudWeaknessTrafficView = isChecked
- }
-
- tbV2nPnc.isChecked = FunctionBuildConfig.isV2NPnc
- tbV2nPnc.setOnCheckedChangeListener{ compoundButton, isChecked ->
+ //V2N场景进PNC
+ scV2nPnc.isChecked = FunctionBuildConfig.isV2NPnc
+ scV2nPnc.setOnCheckedChangeListener{ compoundButton, isChecked ->
if(!compoundButton.isPressed){
return@setOnCheckedChangeListener
}
@@ -106,53 +87,9 @@ internal class SOPSettingView @JvmOverloads constructor(
FunctionBuildConfig.isV2NPnc = isChecked
}
- tbV2iPnc.isChecked = FunctionBuildConfig.isV2IPnc
- tbV2iPnc.setOnCheckedChangeListener{ compoundButton, isChecked ->
- if(!compoundButton.isPressed){
- return@setOnCheckedChangeListener
- }
- hmiAction("SOP V2I场景进PNC, ",isChecked)
- CallerAutoPilotControlManager.sendV2iToPncCmd(isChecked)
- FunctionBuildConfig.isV2IPnc = isChecked
- }
-
- /**
- * 默认打开
- */
- tbObuV2vView.isChecked = HmiBuildConfig.isShowObuV2vView
- tbObuV2vView.setOnCheckedChangeListener { _, isChecked ->
- hmiAction("SOP obuV2V开关, ",isChecked)
- HmiBuildConfig.isShowObuV2vView = isChecked
- }
-
- /**
- * 默认打开
- */
- tbObuV2iView.isChecked = HmiBuildConfig.isShowObuV2iView
- tbObuV2iView.setOnCheckedChangeListener { _, isChecked ->
- hmiAction("SOP obuV2i开关, ",isChecked)
- HmiBuildConfig.isShowObuV2iView = isChecked
- }
-
- /**
- * 默认关闭
- */
- tbRunRedLightSop.isChecked = HmiBuildConfig.isShowRunRedLightView
- tbRunRedLightSop.setOnCheckedChangeListener { _, isChecked ->
- hmiAction("SOP obu闯红灯预警, ",isChecked)
- HmiBuildConfig.isShowRunRedLightView = isChecked
- if (HmiBuildConfig.isShowRunRedLightView) {
- CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_RUNREDLIGHT_WARNING, "1".toByteArray())
- } else {
- CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_RUNREDLIGHT_WARNING, "0".toByteArray())
- }
- }
-
- /**
- * 默认关闭
- */
- tbGreenWaveSop.isChecked = HmiBuildConfig.isShowGreenWaveView
- tbGreenWaveSop.setOnCheckedChangeListener { _, isChecked ->
+ //绿波通行(默认关闭)
+ scGreenWaveSop.isChecked = HmiBuildConfig.isShowGreenWaveView
+ scGreenWaveSop.setOnCheckedChangeListener { _, isChecked ->
hmiAction("SOP obu绿波通行, ",isChecked)
HmiBuildConfig.isShowGreenWaveView = isChecked
if (HmiBuildConfig.isShowGreenWaveView) {
@@ -162,30 +99,111 @@ internal class SOPSettingView @JvmOverloads constructor(
}
}
- tbTrafficLight.isChecked = !HmiBuildConfig.isShowTrafficLightView
- tbTrafficLight.setOnCheckedChangeListener { _, isChecked ->
- hmiAction("SOP 红绿灯标识开关, ",isChecked)
- if (isChecked) {
- CallerHmiManager.showTrafficLightView()
+ //V2I场景进PNC
+ scV2iPnc.isChecked = FunctionBuildConfig.isV2IPnc
+ scV2iPnc.setOnCheckedChangeListener{ compoundButton, isChecked ->
+ if(!compoundButton.isPressed){
+ return@setOnCheckedChangeListener
+ }
+ hmiAction("SOP V2I场景进PNC, ",isChecked)
+ CallerAutoPilotControlManager.sendV2iToPncCmd(isChecked)
+ FunctionBuildConfig.isV2IPnc = isChecked
+ }
+
+ //闯红灯预警(默认关闭)
+ scRunRedLightSop.isChecked = HmiBuildConfig.isShowRunRedLightView
+ scRunRedLightSop.setOnCheckedChangeListener { _, isChecked ->
+ hmiAction("SOP obu闯红灯预警, ",isChecked)
+ HmiBuildConfig.isShowRunRedLightView = isChecked
+ if (HmiBuildConfig.isShowRunRedLightView) {
+ CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_RUNREDLIGHT_WARNING, "1".toByteArray())
} else {
- CallerHmiManager.hideTrafficLightView()
+ CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_RUNREDLIGHT_WARNING, "0".toByteArray())
}
}
- tbSpeedLimit.isChecked = HmiBuildConfig.isShowLimitingVelocityView
- tbSpeedLimit.setOnCheckedChangeListener { _, isChecked ->
- hmiAction("SOP 限速标识开关, ",isChecked)
+ //路侧弱势交通参与者(默认开启)
+ scObuWeaknessTrafficSop.isChecked = HmiBuildConfig.isShowObuWeaknessTrafficView
+ scObuWeaknessTrafficSop.setOnCheckedChangeListener { _, isChecked ->
+ hmiAction("SOP obu弱势交通控制, ",isChecked)
+ HmiBuildConfig.isShowObuWeaknessTrafficView = isChecked
+ }
+
+ //V2V总开关(默认关闭)
+ scObuV2vView.isChecked = HmiBuildConfig.isShowObuV2vView
+ scObuV2vView.setOnCheckedChangeListener { _, isChecked ->
+ hmiAction("SOP obuV2V开关, ",isChecked)
+ HmiBuildConfig.isShowObuV2vView = isChecked
+ }
+
+ //obu总开关
+ scObu.isChecked = CallerObuApiManager.isConnected()
+ scObu.setOnCheckedChangeListener { _, isChecked ->
+ hmiAction("SOP OBU控制总开关, ",isChecked)
if (isChecked) {
- HmiBuildConfig.isShowLimitingVelocityView = true
+ CallerObuApiManager.resetObuIpAddress(MogoObuConst.OBU_DEFAULT_IP)
} else {
- HmiBuildConfig.isShowLimitingVelocityView = false
- CallerHmiViewControlListenerManager.invokeVisible(IViewControlListener.LimitingVelocityView_TAG,View.GONE)
+ //断开链接
+ CallerObuApiManager.disConnectObu()
}
}
+ }
+
+ /**
+ * 地图效果类设置
+ */
+ private fun mapSetting(){
+ //危险障碍物颜色标记开关
+ scMarkingObstacles.isChecked = FunctionBuildConfig.isPNCWarning
+ scMarkingObstacles.setOnCheckedChangeListener { _, isChecked ->
+ hmiAction("SOP 危险障碍物颜色标记开关",isChecked)
+ FunctionBuildConfig.isPNCWarning = isChecked
+ }
+ if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
+ scMarkingObstacles.isEnabled = false
+ }
+
+ //引导线动态效果
+ scRouteDynamicEffect.isChecked = HmiBuildConfig.isShowRouteStrategy
+ scRouteDynamicEffect.setOnCheckedChangeListener { _, isChecked ->
+ hmiAction("SOP 引导线动态效果",isChecked)
+ HmiBuildConfig.isShowRouteStrategy = isChecked
+ }
+
+ //点云效果
+ //初始化点云数据渲染情况
+ scDrawPointCloudData.isChecked = FunctionBuildConfig.isDrawPointCloudData
+ //是否渲染点云数据
+ scDrawPointCloudData.setOnCheckedChangeListener { _, isChecked ->
+ CallerAutoPilotControlManager.setIsDrawPointCloud(isChecked)
+ FunctionBuildConfig.isDrawPointCloudData = isChecked
+ CallerMapUIServiceManager.getMapUIController()?.setIsDrawPointCloud(isChecked)
+ }
+
+ //自车光圈
+ scCarAperture.isChecked = FunctionBuildConfig.isDisplayAnimEnable
+ scCarAperture.setOnCheckedChangeListener { _, isChecked ->
+ CallerMapUIServiceManager.getMapUIController()?.setDisplayAnimEnable(isChecked)
+ FunctionBuildConfig.isDisplayAnimEnable = isChecked
+ }
+ }
+
+ /**
+ * 与车相关类设置
+ */
+ private fun vehicleSetting(){
+ //绕障类功能
+ scObstacleAvoidance.isChecked = FunctionBuildConfig.isDetouring
+ scObstacleAvoidance.setOnCheckedChangeListener { _, isChecked ->
+ hmiAction("SOP 绕障类功能开关",isChecked)
+ CallerAutoPilotControlManager.sendDetouring(isChecked)
+ FunctionBuildConfig.isDetouring = isChecked
+ }
+
// 演示模式,上一次勾选的数据
- tbDemoMode.isChecked = FunctionBuildConfig.isDemoMode
- tbDemoMode.setOnCheckedChangeListener { compoundButton, _ ->
+ scDemoMode.isChecked = FunctionBuildConfig.isDemoMode
+ scDemoMode.setOnCheckedChangeListener { compoundButton, _ ->
if(!compoundButton.isPressed){
return@setOnCheckedChangeListener
}
@@ -200,12 +218,12 @@ internal class SOPSettingView @JvmOverloads constructor(
}
//只在司机端设置美化模式开关功能
if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
- tbDemoMode.visibility = View.GONE
+ scDemoMode.isEnabled = false
}
// 雨天模式,上一次勾选的数据
- tbRainMode.isChecked = FunctionBuildConfig.isRainMode
- tbRainMode.setOnCheckedChangeListener { compoundButton, isChecked ->
+ scRainMode.isChecked = FunctionBuildConfig.isRainMode
+ scRainMode.setOnCheckedChangeListener { compoundButton, isChecked ->
if(!compoundButton.isPressed){
return@setOnCheckedChangeListener
}
@@ -216,72 +234,24 @@ internal class SOPSettingView @JvmOverloads constructor(
}
//雨天模式按钮只在司机屏生效,乘客屏不显示
if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
- tbRainMode.visibility = View.GONE
- }
-
- tbObu.isChecked = CallerObuApiManager.isConnected()
- tbObu.setOnCheckedChangeListener { _, isChecked ->
- hmiAction("SOP OBU控制总开关, ",isChecked)
- if (isChecked) {
- CallerObuApiManager.resetObuIpAddress(MogoObuConst.OBU_DEFAULT_IP)
- } else {
- //断开链接
- CallerObuApiManager.disConnectObu()
- }
- }
-
-
- tbIPCReport.isChecked = FunctionBuildConfig.isReportWarning
- tbIPCReport.setOnCheckedChangeListener { _, isChecked ->
- hmiAction("SOP 是否开启异常上报, ",isChecked)
- FunctionBuildConfig.isReportWarning = isChecked
- }
-
- tbNewV2NData.isChecked = FunctionBuildConfig.isNewV2NData
- tbNewV2NData.setOnCheckedChangeListener { _, isChecked ->
- hmiAction("SOP 是否是V2N新链路(云->工控机->App)",isChecked)
- FunctionBuildConfig.isNewV2NData = isChecked
- }
-
- // M1 360度环视
- tbNew360LookAround?.also {
- if (!AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode)) {
- it.isEnabled = false
- } else {
- it.isEnabled = true
- it.setOnCheckedChangeListener { _, isChecked ->
- if (isChecked) {
- CallerHmiManager.showM1360LookAround()
- } else {
- CallerHmiManager.hidM1360LookAround()
- }
- }
- it.isChecked = CallerHmiManager.isM1360LookAroundShowing()
- }
+ scRainMode.visibility = View.GONE
}
//弱网减速停车
- tbWeakNetSlowDown.isChecked = FunctionBuildConfig.isWeakNetSlowDown
- tbWeakNetSlowDown.setOnCheckedChangeListener{_, isChecked ->
+ scWeakNetSlowDown.isChecked = FunctionBuildConfig.isWeakNetSlowDown
+ scWeakNetSlowDown.setOnCheckedChangeListener{_, isChecked ->
FunctionBuildConfig.isWeakNetSlowDown = isChecked
CallerAutoPilotControlManager.sendWeakNetSlowDown(isChecked)
hmiAction("SOP 弱网减速停车, ",isChecked)
}
//故障减速停车
- tbFaultSlowDown.isChecked = FunctionBuildConfig.isFaultSlowDown
- tbFaultSlowDown.setOnCheckedChangeListener{_, isChecked ->
+ scFaultSlowDown.isChecked = FunctionBuildConfig.isFaultSlowDown
+ scFaultSlowDown.setOnCheckedChangeListener{_, isChecked ->
FunctionBuildConfig.isFaultSlowDown = isChecked
CallerAutoPilotControlManager.sendBreakdownSlowDown(isChecked)
hmiAction("SOP 故障减速停车, ",isChecked)
}
-
- //是否展示被动触发的录包弹窗(自动驾驶下出现问题触发的录包)
- tbShowBagRecordWindow.isChecked = FunctionBuildConfig.isShowBagRecordWindow
- tbShowBagRecordWindow.setOnCheckedChangeListener{_, isChecked ->
- FunctionBuildConfig.isShowBagRecordWindow = isChecked
- hmiAction("SOP 是否展示被动触发的录包弹窗, ",isChecked)
- }
//融合模式
rgFusionMode.setOnCheckedChangeListener { _, p1 ->
when(p1){
@@ -308,93 +278,69 @@ internal class SOPSettingView @JvmOverloads constructor(
}
CallerAutoPilotControlManager.sendFusionMode(FunctionBuildConfig.fusionMode)
}
+ }
-
- //变道绕障的目标障碍物速度阈值
- tvSpeed.text = "${FunctionBuildConfig.detouringSpeed} m/s"
- ivSpeedReduce.setOnClickListener {
- if (FunctionBuildConfig.detouringSpeed <= 3) {
- ToastUtils.showShort("阈值最小可为3 m/s")
+ /**
+ * 其他类别开关设置
+ */
+ private fun otherSetting(){
+ //红绿灯标识开关
+ scTrafficLight.isChecked = !HmiBuildConfig.isShowTrafficLightView
+ scTrafficLight.setOnCheckedChangeListener { _, isChecked ->
+ hmiAction("SOP 红绿灯标识开关, ",isChecked)
+ if (isChecked) {
+ CallerHmiManager.showTrafficLightView()
} else {
- FunctionBuildConfig.detouringSpeed--
- tvSpeed.text = "${FunctionBuildConfig.detouringSpeed} m/s"
- }
- hmiAction("SOP 变道绕障的目标障碍物速度阈值",FunctionBuildConfig.detouringSpeed)
- }
- ivSpeedAdd.setOnClickListener {
- if (FunctionBuildConfig.detouringSpeed >= 7) {
- ToastUtils.showShort("阈值最大可为7 m/s")
- } else {
- FunctionBuildConfig.detouringSpeed++
- tvSpeed.text = "${FunctionBuildConfig.detouringSpeed} m/s"
- }
- hmiAction("SOP 变道绕障的目标障碍物速度阈值",FunctionBuildConfig.detouringSpeed)
- }
- btnSpeedSet.setOnClickListener {
- val isSuccess =
- CallerAutoPilotControlManager.sendDetouringSpeed(FunctionBuildConfig.detouringSpeed.toDouble())
- if (isSuccess == true) {
- ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置成功")
- hmiAction("SOP 变道绕障的目标障碍物速度阈值设置","成功")
- } else {
- ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置失败")
- hmiAction("SOP 变道绕障的目标障碍物速度阈值设置","失败")
+ CallerHmiManager.hideTrafficLightView()
}
}
- if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
- tvSpeedThresholdTitle.visibility = View.GONE
- ivSpeedReduce.visibility = View.GONE
- tvSpeed.visibility = View.GONE
- ivSpeedAdd.visibility = View.GONE
- btnSpeedSet.visibility = View.GONE
+ //限速标识
+ scSpeedLimit.isChecked = HmiBuildConfig.isShowLimitingVelocityView
+ scSpeedLimit.setOnCheckedChangeListener { _, isChecked ->
+ hmiAction("SOP 限速标识开关, ",isChecked)
+ if (isChecked) {
+ HmiBuildConfig.isShowLimitingVelocityView = true
+ } else {
+ HmiBuildConfig.isShowLimitingVelocityView = false
+ CallerHmiViewControlListenerManager.invokeVisible(IViewControlListener.LimitingVelocityView_TAG,View.GONE)
+ }
}
- /**
- * 魔方sop运营相关配置
- */
- if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
- val mf = CallerDevaToolsManager.mofang()
- if (mf != null) {
- mfStatusLayout.setClickEnabled(true)
- mfStatusLayout.setClickedTextAndTag(if (mf.isConnected()) "断开魔方连接" else "开始连接魔方", if (mf.isConnected()) 0 else 1)
- mf.registerMoFangStatusListener(TAG, this)
- mfStatusLayout.setOnClickCallback {
- val tag = it.tag as? Int
- if (tag == 0) {
- //断开魔方连接
- if (!mf.isConnected()) {
- Toast.makeText(context, "尚未建立连接", Toast.LENGTH_SHORT).show()
- return@setOnClickCallback
- }
- mfStatusLayout.showLoadingView()
- mfStatusLayout.setLoadingViewText("正在断开魔方连接, 请稍候...")
- mf.disconnect()
- }
- if (tag == 1) {
- //建立魔方连接
- if (mf.isConnected()) {
- Toast.makeText(context, "已连接,不要重复连接", Toast.LENGTH_SHORT).show()
- return@setOnClickCallback
- }
- mf.connect()
- mfStatusLayout.showLoadingView()
- mfStatusLayout.setLoadingViewText("正在连接魔方, 请稍候")
+ //异常上报提示
+ scIPCReport.isChecked = FunctionBuildConfig.isReportWarning
+ scIPCReport.setOnCheckedChangeListener { _, isChecked ->
+ hmiAction("SOP 是否开启异常上报, ",isChecked)
+ FunctionBuildConfig.isReportWarning = isChecked
+ }
+
+ // M1 360度环视
+ scNew360LookAround?.also {
+ if (!AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode)) {
+ it.isEnabled = false
+ } else {
+ it.isEnabled = true
+ it.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ CallerHmiManager.showM1360LookAround()
+ } else {
+ CallerHmiManager.hidM1360LookAround()
}
}
+ it.isChecked = CallerHmiManager.isM1360LookAroundShowing()
}
-
- mfTest.isEnabled = mf?.isConnected() ?: false
- mfTest.isChecked = mf?.isEnableTest() ?: false
- mfTest.setOnCheckedChangeListener { _, isChecked ->
- mf?.enableTest(isChecked)
- }
- } else {
- mfStatusLayout.setClickEnabled(false)
- mfTest.isEnabled = false
}
+
+ //是否展示被动触发的录包弹窗(自动驾驶下出现问题触发的录包)
+ scShowBagRecordWindow.isChecked = FunctionBuildConfig.isShowBagRecordWindow
+ scShowBagRecordWindow.setOnCheckedChangeListener{_, isChecked ->
+ FunctionBuildConfig.isShowBagRecordWindow = isChecked
+ hmiAction("SOP 是否展示被动触发的录包弹窗, ",isChecked)
+ }
+
}
+
override fun onAttachedToWindow() {
super.onAttachedToWindow()
//添加 业务配置监听
@@ -410,10 +356,10 @@ internal class SOPSettingView @JvmOverloads constructor(
override fun updateFuncMode(tag: String, boolean: Boolean) {
super.updateFuncMode(tag, boolean)
if(tag == FUNC_MODE_DEMO){
- tbDemoMode.isChecked = FunctionBuildConfig.isDemoMode
+ scDemoMode.isChecked = FunctionBuildConfig.isDemoMode
}
if(tag == FUNC_MODE_RAIN){
- tbRainMode.isChecked = FunctionBuildConfig.isRainMode
+ scRainMode.isChecked = FunctionBuildConfig.isRainMode
}
}
@@ -426,61 +372,55 @@ internal class SOPSettingView @JvmOverloads constructor(
CallerDevaToolsManager.mofang()?.unRegisterMoFangStatusListener(this)
}
-// private val timerTaskRefresh = object : TimerTask(){
-// override fun run() {
-// UiThreadHandler.post{
-// tbDemoMode.isChecked = FunctionBuildConfig.isDemoMode
-// tbRainMode.isChecked = FunctionBuildConfig.isRainMode
-// }
-// }
-//
-// }
override fun updateBizView(type: String, lock: Boolean) {
when (type) {
+ //美化模式
FuncBizConfig.BIZ_BEAUTY_MODE -> {
- tbDemoMode.isClickable = !lock
+ scDemoMode.isClickable = !lock
if(lock){
- tbDemoMode.visibility = View.INVISIBLE
+ scDemoMode.visibility = View.INVISIBLE
}else{
- tbDemoMode.visibility = View.VISIBLE
+ scDemoMode.visibility = View.VISIBLE
}
}
+ //雨天模式
FuncBizConfig.BIZ_RAIN_MODE -> {
- tbRainMode.isClickable = !lock
+ scRainMode.isClickable = !lock
if (lock) {
- tbRainMode.visibility = View.INVISIBLE
+ scRainMode.visibility = View.INVISIBLE
} else {
- tbRainMode.visibility = View.VISIBLE
- }
- }
- FuncBizConfig.BIZ_PNC_WARNING -> {
- tbMarkingObstacles.isClickable = !lock
- if (lock) {
- tbMarkingObstacles.visibility = View.INVISIBLE
- } else {
- tbMarkingObstacles.visibility = View.VISIBLE
+ scRainMode.visibility = View.VISIBLE
}
}
+
+// FuncBizConfig.BIZ_PNC_WARNING -> {
+// tbMarkingObstacles.isClickable = !lock
+// if (lock) {
+// tbMarkingObstacles.visibility = View.INVISIBLE
+// } else {
+// tbMarkingObstacles.visibility = View.VISIBLE
+// }
+// }
}
}
override fun onMoFangConnected() {
- mfStatusLayout?.also {
- it.hideLoadingView()
- it.setClickedTextAndTag("断开魔方连接", 0)
- mfTest?.isEnabled = true
- mfTest?.isChecked = CallerDevaToolsManager.mofang()?.isEnableTest() ?: false
- }
+// mfStatusLayout?.also {
+// it.hideLoadingView()
+// it.setClickedTextAndTag("断开魔方连接", 0)
+// mfTest?.isEnabled = true
+// mfTest?.isChecked = CallerDevaToolsManager.mofang()?.isEnableTest() ?: false
+// }
}
override fun onMoFangDisconnected() {
- mfStatusLayout?.also {
- it.hideLoadingView()
- it.setClickedTextAndTag("开始连接魔方", 1)
- mfTest?.isEnabled = false
- }
+// mfStatusLayout?.also {
+// it.hideLoadingView()
+// it.setClickedTextAndTag("开始连接魔方", 1)
+// mfTest?.isEnabled = false
+// }
}
override fun onMoFangBatteryChanged(battery: Int) {
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 0f7ffcb25a..c1d928aff4 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
@@ -5,488 +5,593 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
-
+ android:background="@color/color_D4D8DC"
+ android:orientation="vertical">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
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 c8342ec852..8e51794190 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
@@ -168,7 +168,16 @@ object FunctionBuildConfig {
*/
@Volatile
@JvmField
- var isDrawPointCloudData = true
+ var isDrawPointCloudData = false
+
+ /**
+ * 自车是否展示光圈
+ * true - 展示
+ * false - 不展示
+ */
+ @Volatile
+ @JvmField
+ var isDisplayAnimEnable = false
/**
* 地图是否忽略判断条件直接绘制工控机引导线数据&全局路径规划
diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt
index 38e4c34485..56650dc01c 100644
--- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt
@@ -54,7 +54,7 @@ object HmiBuildConfig {
*/
@JvmField
@Volatile
- var isShowObuV2vView = true
+ var isShowObuV2vView = false
/**
* 是否展示obu的v2i
diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java
index 05e423ca97..4cc94a316e 100644
--- a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java
+++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java
@@ -45,6 +45,12 @@ public interface IMogoMapUIController {
*/
void setDebugMode(Boolean debugMode);
+ /**
+ * 设置地图是否展示自车光圈
+ * @param displayAnimEnable 是否展示自车光圈
+ */
+ void setDisplayAnimEnable(Boolean displayAnimEnable);
+
/**
* 进入VR 模式
*
diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java
index a978a4e03c..10e97510f0 100644
--- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java
+++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java
@@ -337,6 +337,19 @@ public class AMapViewWrapper implements IMogoMapView,
MapAutoApi.INSTANCE.setDebugMode(debugMode);
}
+ /**
+ * 自车光圈
+ * @param displayAnimEnable 是否展示自车光圈
+ */
+ @Override
+ public void setDisplayAnimEnable(Boolean displayAnimEnable) {
+ if (checkAMapView()){
+ MyLocationStyle style = mMapView.getMapAutoViewHelper().getMyLocationStyle();
+ style.setDisplayAnimEnable(displayAnimEnable);
+ mMapView.getMapAutoViewHelper().setMyLocationStyle(style);
+ }
+ }
+
@Override
public void changeMapVisualAngle(VisualAngleMode angelMode, MogoLatLng mogoLatLng) {
if(visualLock){
diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java
index 622e74980d..8dfbca045f 100644
--- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java
+++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java
@@ -83,6 +83,18 @@ public class MogoMapUIController implements IMogoMapUIController {
}
}
+ /**
+ * 自车光圈
+ * @param displayAnimEnable 是否展示自车光圈
+ */
+ @Override
+ public void setDisplayAnimEnable(Boolean displayAnimEnable) {
+ initDelegate();
+ if(mDelegate != null){
+ mDelegate. setDisplayAnimEnable(displayAnimEnable);
+ }
+ }
+
@Override
public void changeMapVisualAngle(VisualAngleMode angelMode, MogoLatLng mogoLatLng) {
initDelegate();
diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java
index 25cca46586..4025d6bc1b 100644
--- a/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java
+++ b/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java
@@ -70,6 +70,17 @@ public class AMapUIController implements IMogoMapUIController {
}
}
+ /**
+ * 自车光圈
+ * @param displayAnimEnable 是否展示自车光圈
+ */
+ @Override
+ public void setDisplayAnimEnable(Boolean displayAnimEnable) {
+ if(mClient != null){
+ mClient.setDisplayAnimEnable(displayAnimEnable);
+ }
+ }
+
@Override
public void changeMapVisualAngle(VisualAngleMode angelMode, MogoLatLng mogoLatLng) {
if (mClient != null) {