@@ -17,17 +17,15 @@ import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsFuncConfigList
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.kotlin.currentPadding
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.telematic.CallerTelematicManager
import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager
import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog.Companion.hmiAction
import com.mogo.eagle.core.function.hmi.ui.widget.DemoModeView
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import kotlinx.android.synthetic.main.view_sop_setting.view.*
import kotlinx.android.synthetic.main.view_sop_setting.view.tbRouteDynamicEffect
import java.util.*
/**
* SOP设置窗口
@@ -49,16 +47,16 @@ internal class SOPSettingView @JvmOverloads constructor(
private fun initView ( ) {
sopLayout . setOnClickListener { }
//绕障类功能开关
tbObstacleAvoidance . isChecked = FunctionBuildConfig . isDetouring
tbObstacleAvoidance . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " 绕障类功能开关 " , isChecked )
CallerAutoPilotControlManager . sendDetouring ( isChecked )
FunctionBuildConfig . isDetouring = isChecked
}
tbMarkingObstacles . isChecked = FunctionBuildConfig . isPNCWarning
//危险障碍物颜色标记开关
tbMarkingObstacles . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " 危险障碍物颜色标记开关 " , isChecked )
FunctionBuildConfig . isPNCWarning = isChecked
}
@@ -66,61 +64,62 @@ internal class SOPSettingView @JvmOverloads constructor(
tbMarkingObstacles . visibility = View . GONE
}
//引导线动态效果
tbRouteDynamicEffect . isChecked = HmiBuildConfig . isShowRouteStrategy
tbRouteDynamicEffect . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " 引导线动态效果 " , isChecked )
HmiBuildConfig . isShowRouteStrategy = isChecked
}
/**
* obu弱势交通控制, 默认开启
*/
//默认开启
tbObuWeaknessTrafficSop . isChecked = HmiBuildConfig . isShowObuWeaknessTrafficView
tbObuWeaknessTrafficSop . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " obu弱势交通控制, " , isChecked )
HmiBuildConfig . isShowObuWeaknessTrafficView = isChecked
}
/**
* 云端弱势交通控制 默认关闭
* 默认关闭
*/
tbCloudWeaknessTrafficSop . isChecked = HmiBuildConfig . isShowCloudWeaknessTrafficView
tbCloudWeaknessTrafficSop . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " 云端弱势交通控制, " , isChecked )
HmiBuildConfig . isShowCloudWeaknessTrafficView = isChecked
}
/**
* V2N场景进PNC
*/
tbV2nPnc . isChecked = FunctionBuildConfig . isV2NPnc
tbV2nPnc . setOnCheckedChangeListener { compoundButton , isChecked ->
if ( ! compoundButton . isPressed ) {
return @setOnCheckedChangeListener
}
hmiAction ( " V2N场景进PNC, " , isChecked )
CallerAutoPilotControlManager . sendV2nToPncCmd ( isChecked )
FunctionBuildConfig . isV2NPnc = isChecked
}
/**
* obu V2V开关, 默认打开
* 默认打开
*/
tbObuV2vView . isChecked = HmiBuildConfig . isShowObuV2vView
tbObuV2vView . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " obuV2V开关, " , isChecked )
HmiBuildConfig . isShowObuV2vView = isChecked
}
/**
* obu V2i开关, 默认打开
* 默认打开
*/
tbObuV2iView . isChecked = HmiBuildConfig . isShowObuV2iView
tbObuV2iView . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " obuV2i开关, " , isChecked )
HmiBuildConfig . isShowObuV2iView = isChecked
}
/**
* obu 闯红灯预警, 默认关闭
* 默认关闭
*/
tbRunRedLightSop . isChecked = HmiBuildConfig . isShowRunRedLightView
tbRunRedLightSop . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " obu闯红灯预警, " , isChecked )
HmiBuildConfig . isShowRunRedLightView = isChecked
if ( HmiBuildConfig . isShowRunRedLightView ) {
CallerTelematicManager . sendMsgToAllClients ( TelematicConstant . OBU _RUNREDLIGHT _WARNING , " 1 " . toByteArray ( ) )
@@ -130,10 +129,11 @@ internal class SOPSettingView @JvmOverloads constructor(
}
/**
* obu 绿波通行, 默认关闭
* 默认关闭
*/
tbGreenWaveSop . isChecked = HmiBuildConfig . isShowGreenWaveView
tbGreenWaveSop . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " obu绿波通行, " , isChecked )
HmiBuildConfig . isShowGreenWaveView = isChecked
if ( HmiBuildConfig . isShowGreenWaveView ) {
CallerTelematicManager . sendMsgToAllClients ( TelematicConstant . OBU _GREENWAVE _WARNING , " 1 " . toByteArray ( ) )
@@ -142,9 +142,9 @@ internal class SOPSettingView @JvmOverloads constructor(
}
}
//红绿灯标识
tbTrafficLight . isChecked = HmiBuildConfig . isShowTrafficLightView
tbTrafficLight . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " 红绿灯标识开关, " , isChecked )
if ( !is Checked ) {
HmiBuildConfig . isShowTrafficLightView = false
} else {
@@ -153,9 +153,9 @@ internal class SOPSettingView @JvmOverloads constructor(
}
}
//限速标识
tbSpeedLimit . isChecked = HmiBuildConfig . isShowLimitingVelocityView
tbSpeedLimit . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " 限速标识开关, " , isChecked )
if ( isChecked ) {
HmiBuildConfig . isShowLimitingVelocityView = true
} else {
@@ -166,11 +166,11 @@ internal class SOPSettingView @JvmOverloads constructor(
// 演示模式,上一次勾选的数据
tbDemoMode . isChecked = FunctionBuildConfig . isDemoMode
// 演示模式
tbDemoMode . setOnCheckedChangeListener { compoundButton , _ ->
if ( ! compoundButton . isPressed ) {
return @setOnCheckedChangeListener
}
hmiAction ( " 演示模式开关, " , ! FunctionBuildConfig . isDemoMode )
FunctionBuildConfig . isDemoMode = ! FunctionBuildConfig . isDemoMode
CallerHmiManager . updateStatusBarLeftView ( FunctionBuildConfig . isDemoMode , " demoMode " , DemoModeView ( context ) )
CallerAutoPilotControlManager . setDemoMode ( FunctionBuildConfig . isDemoMode )
@@ -184,14 +184,13 @@ internal class SOPSettingView @JvmOverloads constructor(
tbDemoMode . visibility = View . GONE
}
// 雨天模式,上一次勾选的数据
tbRainMode . isChecked = FunctionBuildConfig . isRainMode
//雨天模式
tbRainMode . setOnCheckedChangeListener { compoundButton , isChecked ->
if ( ! compoundButton . isPressed ) {
return @setOnCheckedChangeListener
}
hmiAction ( " 雨天模式开关, " , isChecked )
CallerAutoPilotControlManager . setRainMode ( isChecked )
FunctionBuildConfig . isRainMode = isChecked
}
@@ -200,9 +199,9 @@ internal class SOPSettingView @JvmOverloads constructor(
tbRainMode . visibility = View . GONE
}
//OBU控制总开关
tbObu . isChecked = CallerObuApiManager . isConnected ( )
tbObu . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " OBU控制总开关, " , isChecked )
if ( isChecked ) {
CallerObuApiManager . resetObuIpAddress ( MogoObuConst . OBU _DEFAULT _IP )
} else {
@@ -212,14 +211,15 @@ internal class SOPSettingView @JvmOverloads constructor(
}
//是否开启异常上报
tbIPCReport . isChecked = FunctionBuildConfig . isReportWarning
tbIPCReport . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " 是否开启异常上报, " , isChecked )
FunctionBuildConfig . isReportWarning = isChecked
}
tbNewV2NData . isChecked = FunctionBuildConfig . isNewV2NData
tbNewV2NData . setOnCheckedChangeListener { _ , isChecked ->
hmiAction ( " 是否是V2N新链路(云->工控机->App) " , isChecked )
FunctionBuildConfig . isNewV2NData = isChecked
}
@@ -232,6 +232,7 @@ internal class SOPSettingView @JvmOverloads constructor(
FunctionBuildConfig . detouringSpeed --
tvSpeed . text = " ${FunctionBuildConfig.detouringSpeed} m/s "
}
hmiAction ( " 变道绕障的目标障碍物速度阈值 " , FunctionBuildConfig . detouringSpeed )
}
ivSpeedAdd . setOnClickListener {
if ( FunctionBuildConfig . detouringSpeed >= 7 ) {
@@ -240,14 +241,17 @@ internal class SOPSettingView @JvmOverloads constructor(
FunctionBuildConfig . detouringSpeed ++
tvSpeed . text = " ${FunctionBuildConfig.detouringSpeed} m/s "
}
hmiAction ( " 变道绕障的目标障碍物速度阈值 " , FunctionBuildConfig . detouringSpeed )
}
btnSpeedSet . setOnClickListener {
val isSuccess =
CallerAutoPilotControlManager . sendDetouringSpeed ( FunctionBuildConfig . detouringSpeed . toDouble ( ) )
if ( isSuccess == true ) {
ToastUtils . showShort ( " 变道绕障的目标障碍物速度阈值设置成功 " )
hmiAction ( " 变道绕障的目标障碍物速度阈值设置 " , " 成功 " )
} else {
ToastUtils . showShort ( " 变道绕障的目标障碍物速度阈值设置失败 " )
hmiAction ( " 变道绕障的目标障碍物速度阈值设置 " , " 失败 " )
}
}