diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/TrafficLightDispatcher.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/TrafficLightDispatcher.kt index e0c8f7057e..1d7e68fde1 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/TrafficLightDispatcher.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/TrafficLightDispatcher.kt @@ -5,6 +5,7 @@ import android.os.CountDownTimer import android.os.Handler import com.mogo.eagle.core.data.biz.trafficlight.* import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.data.config.HmiBuildConfig import com.mogo.eagle.core.data.deva.chain.ChainConstant import com.mogo.eagle.core.data.enums.DataSourceType import com.mogo.eagle.core.data.enums.TrafficLightEnum @@ -118,7 +119,16 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight if(!hasAutopilotPerception){ hasAutopilotPerception = true } - onTrafficLightPlusSource(light.convert(), 0, DataSourceType.TELEMATIC) + if(HmiBuildConfig.isShowCarSourceTrafficLightView){ + val source = when(trafficLights.source){ + 1 -> DataSourceType.TELEMATIC_UNION_V2I + 2 -> DataSourceType.TELEMATIC_UNION_V2N + else -> DataSourceType.TELEMATIC + } + onTrafficLightPlusSource(light.convert(), light.duration.toInt(), source) + }else{ + onTrafficLightPlusSource(light.convert(), 0, DataSourceType.TELEMATIC) + } } } } @@ -150,6 +160,9 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight */ override fun onEnterCrossRoad(enter: Boolean) { CallerLogger.d("${SceneConstant.M_D_C}${TAG}", "onEnterCrossRoad enter = $enter ") + if(HmiBuildConfig.isShowCarSourceTrafficLightView){ + return + } if (!enter) { Handler().postDelayed({ hasAiLightStatus = false @@ -177,6 +190,9 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight "${SceneConstant.M_D_C}${TAG}", "onTrafficRequestError hasObuLightStatus = $hasObuLightStatus ------> " ) + if(HmiBuildConfig.isShowCarSourceTrafficLightView){ + return + } CallerTrafficLightListenerManager.resetTrafficLightStatus(hasAiLightStatus) hasAiLightStatus = false // if (!hasObuLightStatus) { @@ -216,6 +232,9 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight ) private fun hide(msg: String, sourceType: DataSourceType) { CallerLogger.d("${SceneConstant.M_D_C}${TAG}", "hide() :$msg type :$sourceType") + if(filterTelematicUnion(sourceType)){ + return + } CallerTrafficLightListenerManager.disableTrafficLight() } @@ -234,6 +253,9 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight lightSource: DataSourceType ) { super.onTrafficLightPlusSource(light, remain, lightSource) + if(filterTelematicUnion(lightSource)){ + return + } if (lightSource == DataSourceType.OBU) { hasObuLightStatus = true hasAutopilotPerception = false @@ -313,6 +335,9 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight } } + private fun filterTelematicUnion(source:DataSourceType):Boolean{ + return HmiBuildConfig.isShowCarSourceTrafficLightView && source != DataSourceType.TELEMATIC_UNION_V2N && source != DataSourceType.TELEMATIC_UNION_V2I + } fun destroy() { //取消注册监听AI云.OBU,路侧获取红绿灯状态 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 405afde054..785d0132e3 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 @@ -56,6 +56,7 @@ import kotlinx.android.synthetic.main.view_sop_setting.view.rbThirty import kotlinx.android.synthetic.main.view_sop_setting.view.rgFusionMode import kotlinx.android.synthetic.main.view_sop_setting.view.rgPullTime import kotlinx.android.synthetic.main.view_sop_setting.view.scCarAperture +import kotlinx.android.synthetic.main.view_sop_setting.view.scCarUnionTrafficLight import kotlinx.android.synthetic.main.view_sop_setting.view.scDemoMode import kotlinx.android.synthetic.main.view_sop_setting.view.scDrawPointCloudData import kotlinx.android.synthetic.main.view_sop_setting.view.scFaultSlowDown @@ -673,6 +674,13 @@ internal class SOPSettingView @JvmOverloads constructor( } } + //红绿灯车端来源标识开关 + scCarUnionTrafficLight.isChecked = HmiBuildConfig.isShowCarSourceTrafficLightView + scCarUnionTrafficLight.setOnCheckedChangeListener { _, isChecked -> + hmiAction("SOP 红绿灯车端来源标识开关, ", isChecked) + HmiBuildConfig.isShowCarSourceTrafficLightView = isChecked + } + //限速标识 scSpeedLimit.isChecked = HmiBuildConfig.isShowLimitingVelocityView scSpeedLimit.setOnCheckedChangeListener { _, isChecked -> diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt index 8c229f8890..0380069b63 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt @@ -312,6 +312,12 @@ class SingleTrafficLightView @JvmOverloads constructor( DataSourceType.TELEMATIC -> { mLightSourceTV!!.text = context.getString(R.string.light_source_perception) } + DataSourceType.TELEMATIC_UNION_V2I -> { + mLightSourceTV!!.text = context.getString(R.string.light_source_perception_v2i) + } + DataSourceType.TELEMATIC_UNION_V2N -> { + mLightSourceTV!!.text = context.getString(R.string.light_source_perception_v2n) + } DataSourceType.OBU -> { mLightSourceTV!!.text = context.getString(R.string.light_source_obu) } 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 90cecd13cb..527b115698 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 @@ -693,6 +693,20 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="@id/otherGuideLine" app:layout_constraintTop_toBottomOf="@id/tvOtherTitle" /> + + + + + app:layout_constraintTop_toBottomOf="@id/scCarUnionTrafficLight" /> @@ -735,9 +749,9 @@ android:id="@+id/scSweeperModeSwitch" android:layout_width="wrap_content" android:layout_height="wrap_content" - app:layout_constraintLeft_toRightOf="@id/otherGuideLine" - app:layout_constraintRight_toRightOf="parent" - app:layout_constraintTop_toBottomOf="@id/scNew360LookAround" + app:layout_constraintRight_toRightOf="@id/otherGuideLine" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintTop_toBottomOf="@id/scIPCReport" android:text="清扫云控业务" android:scaleY="1.2" android:scaleX="1.2" @@ -755,7 +769,7 @@ android:text="自主算路验证模式" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="@id/otherGuideLine" - app:layout_constraintTop_toBottomOf="@id/scNew360LookAround" /> + app:layout_constraintTop_toBottomOf="@id/scSweeperModeSwitch" /> 云端下发 自车感知 + 融合V2I + 融合V2N \u2000OBU\u2000 远程代驾 请求中... 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 c6cf55dac2..2979cfd2c3 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 @@ -21,6 +21,12 @@ object HmiBuildConfig { @JvmField var isShowTrafficLightView = false + /** + * 是否显示 车端融合红绿等 + */ + @JvmField + var isShowCarSourceTrafficLightView = false + /** * 是否展示 sn绑定的弹框 */ diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/DataSourceType.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/DataSourceType.kt index fbff75f3d3..47debb8413 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/DataSourceType.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/DataSourceType.kt @@ -7,6 +7,8 @@ enum class DataSourceType(name: String) { OBU("OBU"), MAP("HDMAP"), TELEMATIC("TELEMATIC"), + TELEMATIC_UNION_V2N("TELEMATIC_UNION_V2N"), + TELEMATIC_UNION_V2I("TELEMATIC_UNION_V2I"), AICLOUD("AI云"), SUMMARY("汇总"),// V2X事件汇总 WORKORDER("工单建议"); diff --git a/gradle.properties b/gradle.properties index ed16a7246b..1e62c463f5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -90,8 +90,8 @@ WEBSOCKET_VERSION=1.1.7 applicationId=com.mogo.launcer applicationName=IntelligentPilot # RoboBus司机端:2.5.1;RoboTaxi司机端:2.5.1;RoboTaxi乘客端:1.0.0 -versionCode=6002004 -versionName=6.2.4 +versionCode=6002011 +versionName=6.2.11 ################# 新架构模块Maven版本管理 ################# MOGO_CORE_FUNCTION_HMI_VERSION=0.0.58.10