[code_opt_3.3.0] sop btn add chain lig
This commit is contained in:
@@ -62,6 +62,8 @@ class TraceManager : IMoGoCloudListener, IMoGoAutopilotCarConfigListener {
|
||||
FwBuild(false, 30, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_PLANNING_OBJECTS)
|
||||
fwBuildMap[ChainConstant.CHAIN_TYPE_SOCKET_P_ACTIONS] =
|
||||
FwBuild(true, -1, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_PLANNING_ACTIONS)
|
||||
fwBuildMap[ChainConstant.CHAIN_TYPE_HMI] =
|
||||
FwBuild(true, -1, pkgName + ChainConstant.CHAIN_LINK_LOG_HMI_ACTIONS)
|
||||
fwBuildMap[ChainConstant.CHAIN_TYPE_NATIVE_LEAK] =
|
||||
FwBuild(true, -1, pkgName + ChainConstant.CHAIN_LINK_LOG_RECORD_NATIVE_LEAK)
|
||||
fwBuildMap[ChainConstant.CHAIN_TYPE_ANR] =
|
||||
@@ -92,12 +94,14 @@ class TraceManager : IMoGoCloudListener, IMoGoAutopilotCarConfigListener {
|
||||
ChainLogParam(false, "ADAS PLANNING 感知障碍物")
|
||||
traceInfoCache[ChainConstant.CHAIN_TYPE_SOCKET_P_ACTIONS] =
|
||||
ChainLogParam(true, "ADAS PLANNING 决策行为")
|
||||
traceInfoCache[ChainConstant.CHAIN_TYPE_HMI] =
|
||||
ChainLogParam(true, "人机交互行为")
|
||||
traceInfoCache[ChainConstant.CHAIN_TYPE_NATIVE_LEAK] =
|
||||
ChainLogParam(true, "Native Leak Record")
|
||||
traceInfoCache[ChainConstant.CHAIN_TYPE_ANR] =
|
||||
ChainLogParam(true, "ANR Record")
|
||||
traceInfoCache[ChainConstant.CHAIN_TYPE_V2X] =
|
||||
ChainLogParam(true, "Cloud WebSocket V2N")
|
||||
ChainLogParam(true, "V2X(V2N/V2I)")
|
||||
traceInfoCache[ChainConstant.CHAIN_TYPE_HD_MAP] =
|
||||
ChainLogParam(true, "HD Map Caller")
|
||||
traceInfoCache[ChainConstant.CHAIN_LINK_LOG_WEAK_NETWORK] =
|
||||
|
||||
@@ -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 (!isChecked) {
|
||||
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
|
||||
}
|
||||
|
||||
@@ -249,6 +249,7 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
FunctionBuildConfig.detouringSpeed--
|
||||
tvSpeed.text = "${FunctionBuildConfig.detouringSpeed} m/s"
|
||||
}
|
||||
hmiAction("变道绕障的目标障碍物速度阈值",FunctionBuildConfig.detouringSpeed)
|
||||
}
|
||||
ivSpeedAdd.setOnClickListener {
|
||||
if (FunctionBuildConfig.detouringSpeed >= 7) {
|
||||
@@ -257,14 +258,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("变道绕障的目标障碍物速度阈值设置","失败")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
package com.mogo.eagle.core.function.hmi.ui.utils;
|
||||
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* @author Jing
|
||||
* @description 文件工具类
|
||||
* @since: 11/2/21
|
||||
*/
|
||||
public class FileUtils {
|
||||
|
||||
/**
|
||||
* @param path 文件链接
|
||||
* @return 视频文件
|
||||
*/
|
||||
boolean isVideo(String path) {
|
||||
String reg = "(mp4|flv|avi|rm|rmvb|wmv|mov)";
|
||||
Pattern p = Pattern.compile(reg);
|
||||
boolean boo = p.matcher("url").find();
|
||||
return boo;
|
||||
}
|
||||
|
||||
boolean isImage(String path) {
|
||||
String reg = "(jpg|png|jpeg|gif|bmp)";
|
||||
Pattern p = Pattern.compile(reg);
|
||||
boolean boo = p.matcher("url").find();
|
||||
return boo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.mogo.eagle.core.function.hmi.ui.utils
|
||||
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant
|
||||
import com.zhjt.service.chain.ChainLog
|
||||
|
||||
class HmiActionLog {
|
||||
|
||||
companion object {
|
||||
|
||||
@ChainLog(
|
||||
linkChainLog = ChainConstant.CHAIN_TYPE_HMI,
|
||||
linkCode = ChainConstant.CHAIN_SOURCE_HMI,
|
||||
nodeAliasCode = ChainConstant.CHAIN_CODE_HMI_ACTIONS,
|
||||
paramIndexes = [0, 1]
|
||||
)
|
||||
fun hmiAction(data: Any, data1: Any) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
package com.mogo.eagle.core.function.hmi.ui.utils
|
||||
|
||||
import android.view.View
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020/6/28
|
||||
*
|
||||
* 描述
|
||||
*/
|
||||
fun View.gone() {
|
||||
if (this.visibility != View.GONE) {
|
||||
this.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
fun View.visible() {
|
||||
if (this.visibility != View.VISIBLE) {
|
||||
this.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
|
||||
fun View.invisible() {
|
||||
if (this.visibility != View.INVISIBLE) {
|
||||
this.visibility = View.INVISIBLE
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user