From f7d5462bedd05ee7313e3d53bd3054d53b403ef7 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Thu, 14 Sep 2023 19:37:44 +0800 Subject: [PATCH] =?UTF-8?q?[6.1.0]=E8=BF=90=E8=90=A5=E9=9D=A2=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/hmi/ui/setting/SOPSettingView.kt | 482 ++++---- .../src/main/res/layout/view_sop_setting.xml | 1041 +++++++++-------- .../core/data/config/FunctionBuildConfig.kt | 11 +- .../eagle/core/data/config/HmiBuildConfig.kt | 2 +- .../uicontroller/IMogoMapUIController.java | 6 + .../java/com/mogo/map/AMapViewWrapper.java | 13 + .../com/mogo/map/MogoMapUIController.java | 12 + .../map/uicontroller/AMapUIController.java | 11 + 8 files changed, 837 insertions(+), 741 deletions(-) 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"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -