diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt index 3efd35e9bf..cc417ee2b1 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt @@ -145,7 +145,7 @@ class MoGoAutopilotControlProvider : // .setSubscribeInterfaceOptions(subscribeInterfaceOptions)// .build() - AdasManager.getInstance().create(mContext, options, MoGoAdasMsgConnectStatusListenerImpl()) + AdasManager.getInstance().create(AbsMogoApplication.getApp(), options, MoGoAdasMsgConnectStatusListenerImpl()) //////////////////////////////////注意先后顺序,AdasManager.getInstance().create后才可以设置监听///////////////////////////////////////////// // 监听ADAS-SDK获取到的工控机数据 AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl()) @@ -241,7 +241,7 @@ class MoGoAutopilotControlProvider : // .setLaunchAutopilotGear(FunctionBuildConfig.launchAutopilotGear) .build() AdasManager.getInstance() - .create(mContext, options, MoGoAdasMsgConnectStatusListenerImpl()) + .create(AbsMogoApplication.getApp(), options, MoGoAdasMsgConnectStatusListenerImpl()) // 监听ADAS-SDK获取到的工控机数据 AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl()) // 接收司机屏发过来的感知、定位等数据 @@ -275,7 +275,7 @@ class MoGoAutopilotControlProvider : .setDeviceCrt(CallerCloudCertManager.getDeviceCrtFDecode()) // .setLaunchAutopilotGear(FunctionBuildConfig.launchAutopilotGear) .build() - AdasManager.getInstance().create(mContext, options, MoGoAdasMsgConnectStatusListenerImpl()) + AdasManager.getInstance().create(AbsMogoApplication.getApp(), options, MoGoAdasMsgConnectStatusListenerImpl()) //////////////////////////////////注意先后顺序,AdasManager.getInstance().create后才可以设置监听///////////////////////////////////////////// // 监听ADAS-SDK获取到的工控机数据 AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl()) @@ -337,7 +337,7 @@ class MoGoAutopilotControlProvider : .setConnectionMode(AdasOptions.IPC_CONNECTION_MODE.SPECIFIED) .setSpecifiedAddress(autoPilotIp) .build() - AdasManager.getInstance().create(mContext, options, MoGoAdasMsgConnectStatusListenerImpl()) + AdasManager.getInstance().create(AbsMogoApplication.getApp(), options, MoGoAdasMsgConnectStatusListenerImpl()) AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl()) // AdasManager.getInstance().adasOptions.isClient = false // AdasManager.getInstance().adasOptions.ipcConnectionMode = diff --git a/libraries/mogo-adas-data/src/main/res/values/strings.xml b/libraries/mogo-adas-data/src/main/res/values/strings.xml index b0baec3a3b..8c3afca375 100644 --- a/libraries/mogo-adas-data/src/main/res/values/strings.xml +++ b/libraries/mogo-adas-data/src/main/res/values/strings.xml @@ -126,13 +126,4 @@ 系统软重启 请安全位置停车,保持上电,等待修复完成 - - 超时时间: - 最后刷新时间时间差: - 最后一条Telematics心跳接收时间 - 最后一条Telematics数据发送时间 - - - - diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java index 51bce83cc9..927b7b4b3a 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java @@ -10,7 +10,7 @@ import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_SOURCE_ADAS; import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_TYPE_INIT_STATUS; import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_TYPE_SOCKET_AUTOPILOT; -import android.content.Context; +import android.app.Application; import android.os.SystemClock; import android.text.TextUtils; import android.util.Log; @@ -154,7 +154,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec private OnAdasListener mAdasListener; //连接状态listener private final OnAdasConnectStatusListener adasConnectStatusListener; - private Context context; + private final Application context; private final ReceivedAckManager receivedAckManager = new ReceivedAckManager();//消息回执 private final AtomicBoolean isInitConfigure = new AtomicBoolean(false);//是否进行配置初始化 @@ -199,10 +199,11 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec * @param options * @param listener */ - AdasChannel(Context context, @Nullable AdasOptions options, @Nullable OnAdasConnectStatusListener listener) { + AdasChannel(Application context, @Nullable AdasOptions options, @Nullable OnAdasConnectStatusListener listener) { this.context = context; this.adasConnectStatusListener = listener; setAdasOptions(options); + AutopilotAbilityManager.getInstance().init(context); initData(); if (!adasOptions.isPassenger() && listener != null && adasOptions.isAutoConnect()) connect(); diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java index 9d123d1c6e..794777554f 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java @@ -1,5 +1,6 @@ package com.zhidao.support.adas.high; +import android.app.Application; import android.content.Context; import android.text.TextUtils; @@ -127,7 +128,7 @@ public class AdasManager implements IAdasNetCommApi { * @param options 连接参数 * @param onAdasConnectStatusListener 连接状态监听 */ - public synchronized void create(Context context, AdasOptions options, OnAdasConnectStatusListener onAdasConnectStatusListener) { + public synchronized void create(Application context, AdasOptions options, OnAdasConnectStatusListener onAdasConnectStatusListener) { if (mChannel != null) { mChannel.disconnect(); carConfig = null; diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/ReceiveTimeoutManager.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/ReceiveTimeoutManager.java index d1798e2094..a376ee8557 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/ReceiveTimeoutManager.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/ReceiveTimeoutManager.java @@ -4,6 +4,7 @@ import android.content.Context; import android.os.SystemClock; import android.text.TextUtils; +import com.zhidao.support.adas.high.R; import com.zhjt.mogo.adas.data.AdasConstants; import java.util.Locale; @@ -160,11 +161,11 @@ public class ReceiveTimeoutManager { if (context != null) { try { type = isTimeout - ? context.getString(com.zhjt.mogo.adas.data.R.string.adas_time_out_period) - : context.getString(com.zhjt.mogo.adas.data.R.string.adas_last_refresh_time_difference); + ? context.getString(R.string.adas_time_out_period) + : context.getString(R.string.adas_last_refresh_time_difference); type1 = isHaveIpcHeartbeat - ? context.getString(com.zhjt.mogo.adas.data.R.string.adas_last_receive_heartbeat_time) - : context.getString(com.zhjt.mogo.adas.data.R.string.adas_last_receive_data_time); + ? context.getString(R.string.adas_last_receive_heartbeat_time) + : context.getString(R.string.adas_last_receive_data_time); } catch (Exception e) { type = null; type1 = null; diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility250.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility250.java index e49ae5fec9..964fb03ba2 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility250.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility250.java @@ -3,6 +3,7 @@ package com.zhidao.support.adas.high.common.autopilot.ability; import androidx.annotation.NonNull; import com.zhidao.support.adas.high.AdasManager; +import com.zhidao.support.adas.high.R; import com.zhidao.support.adas.high.common.CupidLogUtils; import com.zhjt.mogo.adas.data.bean.LaunchConditionData; import com.zhjt.mogo.adas.data.bean.UnableLaunchReason; @@ -24,10 +25,13 @@ import system_master.SystemStatusInfo; public class AutopilotAbility250 extends BaseAutopilotAbilityChassis { private volatile Timer timer; private int masterVersion = -1;//Master版本 + @NonNull + private final String[] NODE_INFO_STATE; public AutopilotAbility250(@NonNull AutopilotAbilityManager manager) { super(manager); + NODE_INFO_STATE = manager.getStringArray(R.array.adas_node_info_state); } @@ -58,14 +62,14 @@ public class AutopilotAbility250 extends BaseAutopilotAbilityChassis { for (SystemStatusInfo.NodeInfo info : list) { String nodeName = info.getNodeName(); int state = info.getState(); - if (state < AutopilotAbilityManager.NODE_INFO_STATE.length) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + AutopilotAbilityManager.NODE_INFO_STATE[state]); + if (state < NODE_INFO_STATE.length) { + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + NODE_INFO_STATE[state]); } else { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + "未知异常"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + manager.getString(R.string.adas_unknown_error)); } } } else { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, "未知异常节点"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, manager.getString(R.string.adas_unknown_error_node)); } } } else { @@ -75,11 +79,11 @@ public class AutopilotAbility250 extends BaseAutopilotAbilityChassis { boolean isAutopilotAbility = false; String unableAutopilotReason = null; if (systemState == SystemStatusInfo.SystemState.SYS_STARTING) { - unableAutopilotReason = "系统正在启动"; + unableAutopilotReason = manager.getString(R.string.adas_system_starting); } else if (systemState == SystemStatusInfo.SystemState.SYS_EXITING) { - unableAutopilotReason = "系统正在关闭"; + unableAutopilotReason = manager.getString(R.string.adas_system_shutting_down); } else if (systemState == SystemStatusInfo.SystemState.SYS_FAULT) { - unableAutopilotReason = "系统异常"; + unableAutopilotReason = manager.getString(R.string.adas_system_error); } else if (systemState == SystemStatusInfo.SystemState.AUTO_PILOT_STARTING) { //TODO 如果第一次下发了启动自动驾驶,没起来或者存在干预 此时systemState是AUTO_PILOT_STARTING 需要二次下发启动自驾命令 所以需要排除此状态 isAutopilotAbility = true; @@ -89,11 +93,11 @@ public class AutopilotAbility250 extends BaseAutopilotAbilityChassis { isAutopilotAbility = true; // unableAutopilotReason = "自动驾驶运行中"; } else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_STARTING) { - unableAutopilotReason = "平行驾驶启动中"; + unableAutopilotReason = manager.getString(R.string.adas_parallel_drive_starting); } else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_RUNNING) { - unableAutopilotReason = "平行驾驶运行中"; + unableAutopilotReason = manager.getString(R.string.adas_parallel_drive_running); } else { - unableAutopilotReason = "未知系统状态"; + unableAutopilotReason = manager.getString(R.string.adas_unknown_system_state); } if (!isAutopilotAbility) { unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason); @@ -101,7 +105,7 @@ public class AutopilotAbility250 extends BaseAutopilotAbilityChassis { } } } else { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, "SSM查询超时无响应"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, manager.getString(R.string.adas_ssm_find_timeout)); } //检测底盘相关 unableAutopilotReasons = onCallbackChassis(unableAutopilotReasons); diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility330.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility330.java index 18b56e72d4..40011f5258 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility330.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility330.java @@ -5,6 +5,7 @@ import android.text.TextUtils; import androidx.annotation.NonNull; import com.zhidao.support.adas.high.AdasManager; +import com.zhidao.support.adas.high.R; import com.zhidao.support.adas.high.common.CupidLogUtils; import com.zhjt.mogo.adas.data.bean.LaunchConditionData; import com.zhjt.mogo.adas.data.bean.UnableLaunchReason; @@ -35,11 +36,13 @@ public class AutopilotAbility330 { private int mapVersion = -1;//MAP版本 private int masterVersion = -1;//Master版本 private OnAutopilotAbilityListener listener; + private final String[] NODE_INFO_STATE; protected AutopilotAbility330(@NonNull AutopilotAbilityManager manager, int mapVersion) { this.manager = manager; this.mapVersion = mapVersion; this.masterVersion = -1; + NODE_INFO_STATE = manager.getStringArray(R.array.adas_node_info_state); } protected synchronized void setFsmStatusReasonRespond(FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond) { @@ -76,14 +79,14 @@ public class AutopilotAbility330 { for (SystemStatusInfo.NodeInfo info : list) { String nodeName = info.getNodeName(); int state = info.getState(); - if (state < AutopilotAbilityManager.NODE_INFO_STATE.length) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + AutopilotAbilityManager.NODE_INFO_STATE[state]); + if (state < NODE_INFO_STATE.length) { + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + NODE_INFO_STATE[state]); } else { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + "未知异常"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + manager.getString(R.string.adas_unknown_error)); } } } else { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, "未知异常节点"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, manager.getString(R.string.adas_unknown_error_node)); } } } else { @@ -93,11 +96,11 @@ public class AutopilotAbility330 { isAutopilotAbility = false; String unableAutopilotReason = null; if (systemState == SystemStatusInfo.SystemState.SYS_STARTING) { - unableAutopilotReason = "系统正在启动"; + unableAutopilotReason = manager.getString(R.string.adas_system_starting); } else if (systemState == SystemStatusInfo.SystemState.SYS_EXITING) { - unableAutopilotReason = "系统正在关闭"; + unableAutopilotReason = manager.getString(R.string.adas_system_shutting_down); } else if (systemState == SystemStatusInfo.SystemState.SYS_FAULT) { - unableAutopilotReason = "系统异常"; + unableAutopilotReason = manager.getString(R.string.adas_system_error); } else if (systemState == SystemStatusInfo.SystemState.AUTO_PILOT_STARTING) { //TODO 如果第一次下发了启动自动驾驶,没起来或者存在干预 此时systemState是AUTO_PILOT_STARTING 需要二次下发启动自驾命令 所以需要排除此状态 isAutopilotAbility = true; @@ -107,11 +110,11 @@ public class AutopilotAbility330 { isAutopilotAbility = true; // unableAutopilotReason = "自动驾驶运行中"; } else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_STARTING) { - unableAutopilotReason = "平行驾驶启动中"; + unableAutopilotReason = manager.getString(R.string.adas_parallel_drive_starting); } else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_RUNNING) { - unableAutopilotReason = "平行驾驶运行中"; + unableAutopilotReason = manager.getString(R.string.adas_parallel_drive_running); } else { - unableAutopilotReason = "未知系统状态"; + unableAutopilotReason = manager.getString(R.string.adas_unknown_system_state); } if (!isAutopilotAbility) { unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason); @@ -120,7 +123,7 @@ public class AutopilotAbility330 { } } else { isAutopilotAbility = false;//是否能启动自动驾驶 - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, "SSM查询超时无响应"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, manager.getString(R.string.adas_ssm_find_timeout)); } if (fsmStatusReasonRespond != null) { int count = fsmStatusReasonRespond.getFsmStatusReasonRespondCount(); @@ -133,7 +136,7 @@ public class AutopilotAbility330 { } } if (unableAutopilotReasons == null || unableAutopilotReasons.isEmpty()) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM_ERROR, "FSM数据异常"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM_ERROR, manager.getString(R.string.adas_fsm_data_error)); } } } diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility350And360.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility350And360.java index 5b4cca89d7..062a28b7b2 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility350And360.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility350And360.java @@ -3,6 +3,7 @@ package com.zhidao.support.adas.high.common.autopilot.ability; import androidx.annotation.NonNull; import com.zhidao.support.adas.high.AdasManager; +import com.zhidao.support.adas.high.R; import com.zhidao.support.adas.high.common.CupidLogUtils; import com.zhjt.mogo.adas.data.bean.LaunchConditionData; import com.zhjt.mogo.adas.data.bean.UnableLaunchReason; @@ -26,11 +27,6 @@ import system_master.SsmInfo; */ public class AutopilotAbility350And360 { private final String TAG = this.getClass().getSimpleName(); - private static final String REASON_CHASSIS_BRAKE = "刹车踏板"; - private static final String REASON_CHASSIS_THROTTLE = "油门踏板"; - private static final String REASON_CHASSIS_GEAR = "档位"; - private static final String REASON_CHASSIS_HAZARD_LIGHTS = "危险报警灯"; - private static final String REASON_CHASSIS_STEERING = "方向盘"; @NonNull private final AutopilotAbilityManager manager; private volatile SsmInfo.SsmStatusInf statusInfo; @@ -54,9 +50,11 @@ public class AutopilotAbility350And360 { private int masterVersion = -1;//Master版本 private long seqNum = -1;//消息条数 + private final String[] NODE_INFO_STATE_FIXED_FREQUENCY; public AutopilotAbility350And360(@NonNull AutopilotAbilityManager manager) { this.manager = manager; + NODE_INFO_STATE_FIXED_FREQUENCY = manager.getStringArray(R.array.adas_node_info_state_fixed_frequency); } public void setCarConfig(@NonNull MessagePad.CarConfigResp carConfig) { @@ -151,14 +149,14 @@ public class AutopilotAbility350And360 { SsmInfo.NodeInf info = statusInfo.getAutoPilotUnreadyList(i); String nodeName = info.getNodeName(); int state = info.getState().getNumber(); - if (state < AutopilotAbilityManager.NODE_INFO_STATE_FIXED_FREQUENCY.length) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + AutopilotAbilityManager.NODE_INFO_STATE_FIXED_FREQUENCY[state]); + if (state < NODE_INFO_STATE_FIXED_FREQUENCY.length) { + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + NODE_INFO_STATE_FIXED_FREQUENCY[state]); } else { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + "未知异常"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + manager.getString(R.string.adas_unknown_error)); } } } else { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, "未知异常节点"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, manager.getString(R.string.adas_unknown_error_node)); } } } else { @@ -166,21 +164,21 @@ public class AutopilotAbility350And360 { if (modeState != SsmInfo.ModeState.MODE_RUN_UNREADY && modeState != SsmInfo.ModeState.MODE_RUN_READY) { String unableAutopilotReason = null; if (modeState == SsmInfo.ModeState.MODE_STOP_UNREADY) { - unableAutopilotReason = "系统处于停止模式(未就绪)"; + unableAutopilotReason = manager.getString(R.string.adas_mode_stop_unready); } else if (modeState == SsmInfo.ModeState.MODE_STOP_READY) { - unableAutopilotReason = "系统处于停止模式"; + unableAutopilotReason = manager.getString(R.string.adas_mode_stop_ready); } else if (modeState == SsmInfo.ModeState.MODE_IDLE_UNREADY) { - unableAutopilotReason = "系统处于空闲模式(未就绪)"; + unableAutopilotReason = manager.getString(R.string.adas_mode_idle_unready); } else if (modeState == SsmInfo.ModeState.MODE_IDLE_READY) { - unableAutopilotReason = "系统处于空闲模式"; + unableAutopilotReason = manager.getString(R.string.adas_mode_idle_ready); } else { - unableAutopilotReason = "未知系统模式"; + unableAutopilotReason = manager.getString(R.string.adas_unknown_system_mode); } unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason); } } } else { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, "SSM超时无响应"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, manager.getString(R.string.adas_ssm_timeout)); } return unableAutopilotReasons; } @@ -240,26 +238,26 @@ public class AutopilotAbility350And360 { if (chassisStates.hasBrakeSystemStates()) { float brake = chassisStates.getBrakeSystemStates().getBrakePedalResponsePosition(); if (brake > 0) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_BRAKE, REASON_CHASSIS_BRAKE); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_BRAKE, manager.getString(R.string.adas_reason_chassis_brake)); } } //油门踏板 if (chassisStates.hasDrivingSystemStates()) { float throttle = chassisStates.getDrivingSystemStates().getThrottleResponsePosition(); if (throttle > 0) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_THROTTLE, REASON_CHASSIS_THROTTLE); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_THROTTLE, manager.getString(R.string.adas_reason_chassis_throttle)); } } //档位 if (chassisStates.hasGearSystemStates()) { Chassis.GearPosition gear = chassisStates.getGearSystemStates().getGearPosition(); if (!isLaunchAutopilotGear(gear)) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_GEAR, REASON_CHASSIS_GEAR); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_GEAR, manager.getString(R.string.adas_reason_chassis_gear)); } } //危险报警灯 if (!isLaunchAutopilotLight(currentLight)) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_HAZARD_LIGHTS, REASON_CHASSIS_HAZARD_LIGHTS); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_HAZARD_LIGHTS, manager.getString(R.string.adas_reason_chassis_hazard_lights)); } //延迟太高改用timer // //方向盘 @@ -288,7 +286,7 @@ public class AutopilotAbility350And360 { // } // Log.i(TAG, "方向盘是否在转动=" + isTurning.get()); if (isTurning.get()) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_STEERING, REASON_CHASSIS_STEERING); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_STEERING, manager.getString(R.string.adas_reason_chassis_steering)); } } if (listener != null) { diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility360.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility360.java index 14a5484c7d..fd277a3e45 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility360.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbility360.java @@ -5,6 +5,7 @@ import android.text.TextUtils; import androidx.annotation.NonNull; import com.zhidao.support.adas.high.AdasManager; +import com.zhidao.support.adas.high.R; import com.zhidao.support.adas.high.common.CupidLogUtils; import com.zhjt.mogo.adas.data.bean.LaunchConditionData; import com.zhjt.mogo.adas.data.bean.UnableLaunchReason; @@ -28,10 +29,12 @@ public class AutopilotAbility360 { private volatile FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond;//自动驾驶状态为OFF的原因 private int masterVersion = -1;//Master版本 private OnAutopilotAbilityListener listener; + private final String[] NODE_INFO_STATE_FIXED_FREQUENCY; protected AutopilotAbility360(@NonNull AutopilotAbilityManager manager) { this.manager = manager; this.masterVersion = -1; + NODE_INFO_STATE_FIXED_FREQUENCY = manager.getStringArray(R.array.adas_node_info_state_fixed_frequency); } protected synchronized void setFsmStatusReasonRespond(FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond) { @@ -68,14 +71,14 @@ public class AutopilotAbility360 { SsmInfo.NodeInf info = statusInfo.getAutoPilotUnreadyList(i); String nodeName = info.getNodeName(); int state = info.getState().getNumber(); - if (state < AutopilotAbilityManager.NODE_INFO_STATE_FIXED_FREQUENCY.length) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + AutopilotAbilityManager.NODE_INFO_STATE_FIXED_FREQUENCY[state]); + if (state < NODE_INFO_STATE_FIXED_FREQUENCY.length) { + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + NODE_INFO_STATE_FIXED_FREQUENCY[state]); } else { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + "未知异常"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + manager.getString(R.string.adas_unknown_error)); } } } else { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, "未知异常节点"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, manager.getString(R.string.adas_unknown_error_node)); } } } else { @@ -84,22 +87,22 @@ public class AutopilotAbility360 { isAutopilotAbility = false; String unableAutopilotReason = null; if (modeState == SsmInfo.ModeState.MODE_STOP_UNREADY) { - unableAutopilotReason = "系统处于停止模式(未就绪)"; + unableAutopilotReason = manager.getString(R.string.adas_mode_stop_unready); } else if (modeState == SsmInfo.ModeState.MODE_STOP_READY) { - unableAutopilotReason = "系统处于停止模式"; + unableAutopilotReason = manager.getString(R.string.adas_mode_stop_ready); } else if (modeState == SsmInfo.ModeState.MODE_IDLE_UNREADY) { - unableAutopilotReason = "系统处于空闲模式(未就绪)"; + unableAutopilotReason = manager.getString(R.string.adas_mode_idle_unready); } else if (modeState == SsmInfo.ModeState.MODE_IDLE_READY) { - unableAutopilotReason = "系统处于空闲模式"; + unableAutopilotReason = manager.getString(R.string.adas_mode_idle_ready); } else { - unableAutopilotReason = "未知系统模式"; + unableAutopilotReason = manager.getString(R.string.adas_unknown_system_mode); } unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason); } } } else { isAutopilotAbility = false;//是否能启动自动驾驶 - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, "SSM超时无响应"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, manager.getString(R.string.adas_ssm_timeout)); } if (fsmStatusReasonRespond != null) { int count = fsmStatusReasonRespond.getFsmStatusReasonRespondCount(); @@ -112,7 +115,7 @@ public class AutopilotAbility360 { } } if (unableAutopilotReasons == null || unableAutopilotReasons.isEmpty()) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM_ERROR, "FSM数据异常"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM_ERROR, manager.getString(R.string.adas_fsm_data_error)); } } } diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbilityFSM.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbilityFSM.java index 9a24d0f6f3..b68cab8c66 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbilityFSM.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbilityFSM.java @@ -2,6 +2,7 @@ package com.zhidao.support.adas.high.common.autopilot.ability; import androidx.annotation.NonNull; +import com.zhidao.support.adas.high.R; import com.zhjt.mogo.adas.data.bean.LaunchConditionData; import com.zhjt.mogo.adas.data.bean.UnableLaunchReason; @@ -38,7 +39,7 @@ public class AutopilotAbilityFSM { protected void onCallbackFsm(Fsm2024.FSMStateMsg fsmState) { ArrayList unableAutopilotReasons = null;//不能启动自动驾驶原因 if (fsmState == null) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM2024_TIMEOUT, "FSM超时无响应"); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM2024_TIMEOUT, manager.getString(R.string.adas_fsm_timeout)); } else { if (!fsmState.getPilotStandbyFlag()) { List list = null; diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbilityManager.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbilityManager.java index 337886d0c2..9249a1e7e4 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbilityManager.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbilityManager.java @@ -1,15 +1,19 @@ package com.zhidao.support.adas.high.common.autopilot.ability; +import android.app.Application; import android.text.TextUtils; +import androidx.annotation.ArrayRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.annotation.StringRes; import com.zhidao.support.adas.high.AdasManager; import com.zhidao.support.adas.high.AdasOptions; import com.zhidao.support.adas.high.BuildConfig; import com.zhidao.support.adas.high.OnAdasListener; +import com.zhidao.support.adas.high.R; import com.zhidao.support.adas.high.common.CupidLogUtils; import com.zhjt.mogo.adas.data.AdasConstants; import com.zhjt.mogo.adas.data.bean.LaunchConditionData; @@ -45,8 +49,6 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener { private static final String TAG = AutopilotAbilityManager.class.getSimpleName(); protected static final long DEFAULT_TIMEOUT = 5000L;//SSM和FSM超时时间 protected static final long DEFAULT_DETECTION_TIME = 3 * 1000L;//默认检测周期 - protected static final String[] NODE_INFO_STATE = {"未知状态", "依赖未就绪", "启动中", "运行", "停止", "无法启动状态", "人为启动状态", "人为关闭状态"}; - protected static final String[] NODE_INFO_STATE_FIXED_FREQUENCY = {"未知状态", "依赖未就绪", "启动中", "运行", "停止", "无法启动状态", "非自动启动状态", "非自动关闭状态"}; private static volatile AutopilotAbilityManager INSTANCE; private OnAdasListener listener; @@ -75,6 +77,7 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener { private final AtomicInteger isSupportFSM2024 = new AtomicInteger(-1);//-1:未初始化 0:不支持 1:通过SSM V2判断支持 2:通过FSM数据源判断支持 private final Map nodeStateInfos = new ConcurrentHashMap<>(); private int fsm2024Version = -1;//FSM2024版本 -1:未初始化 0:SSM判断存在FSM2024但是并不知道具体版本或根据FMS中Version解析失败 其他数值:根据FSM数据中的version 判断得出 + private Application context; private AutopilotAbilityManager() { } @@ -90,6 +93,10 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener { return INSTANCE; } + public void init(@NonNull Application context) { + this.context = context; + } + private void initStartData() { nodeStateInfos.clear(); NodeStateInfo ssmInfo = new NodeStateInfo(AdasConstants.NodeName.SSM, AdasConstants.NodeState.NODE_EXIST); @@ -129,7 +136,7 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener { */ protected ArrayList addUnableAutopilotReason(ArrayList unableAutopilotReasons, UnableLaunchReason.SourceType source, UnableLaunchReason.UnableType unableType, String unableAutopilotReason) { if (TextUtils.isEmpty(unableAutopilotReason)) { - unableAutopilotReason = "未知"; + unableAutopilotReason = getString(R.string.adas_unknown); } List list = new ArrayList<>(); list.add(unableAutopilotReason); @@ -587,4 +594,22 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener { isJLB2 = false; } + + public String getString(@StringRes int resId) { + if (context == null) return ""; + try { + return context.getString(resId); + } catch (Exception e) { + return ""; + } + } + + public String[] getStringArray(@ArrayRes int resId) { + if (context == null) return new String[0]; + try { + return context.getResources().getStringArray(resId); + } catch (Exception e) { + return new String[0]; + } + } } diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/BaseAutopilotAbilityChassis.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/BaseAutopilotAbilityChassis.java index 3cccc7f54f..67662f8647 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/BaseAutopilotAbilityChassis.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/BaseAutopilotAbilityChassis.java @@ -2,6 +2,7 @@ package com.zhidao.support.adas.high.common.autopilot.ability; import androidx.annotation.NonNull; +import com.zhidao.support.adas.high.R; import com.zhjt.mogo.adas.data.bean.UnableLaunchReason; import java.util.ArrayList; @@ -17,11 +18,6 @@ import mogo.telematics.pad.MessagePad; */ public abstract class BaseAutopilotAbilityChassis { protected final String TAG = this.getClass().getSimpleName(); - private static final String REASON_CHASSIS_BRAKE = "刹车踏板"; - private static final String REASON_CHASSIS_THROTTLE = "油门踏板"; - private static final String REASON_CHASSIS_GEAR = "档位"; - private static final String REASON_CHASSIS_HAZARD_LIGHTS = "危险报警灯"; - private static final String REASON_CHASSIS_STEERING = "方向盘"; @NonNull protected final AutopilotAbilityManager manager; protected ChassisStatesOuterClass.ChassisStates chassisStates; @@ -116,26 +112,26 @@ public abstract class BaseAutopilotAbilityChassis { if (chassisStates.hasBrakeSystemStates()) { float brake = chassisStates.getBrakeSystemStates().getBrakePedalResponsePosition(); if (brake > 0) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_BRAKE, REASON_CHASSIS_BRAKE); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_BRAKE, manager.getString(R.string.adas_reason_chassis_brake)); } } //油门踏板 if (chassisStates.hasDrivingSystemStates()) { float throttle = chassisStates.getDrivingSystemStates().getThrottleResponsePosition(); if (throttle > 0) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_THROTTLE, REASON_CHASSIS_THROTTLE); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_THROTTLE, manager.getString(R.string.adas_reason_chassis_throttle)); } } //档位 if (chassisStates.hasGearSystemStates()) { Chassis.GearPosition gear = chassisStates.getGearSystemStates().getGearPosition(); if (!isLaunchAutopilotGear(gear)) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_GEAR, REASON_CHASSIS_GEAR); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_GEAR, manager.getString(R.string.adas_reason_chassis_gear)); } } //危险报警灯 if (!isLaunchAutopilotLight()) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_HAZARD_LIGHTS, REASON_CHASSIS_HAZARD_LIGHTS); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_HAZARD_LIGHTS, manager.getString(R.string.adas_reason_chassis_hazard_lights)); } //方向盘 if (chassisStates.hasSteerSystemStates()) { @@ -150,7 +146,7 @@ public abstract class BaseAutopilotAbilityChassis { oldSteering = steering; // CupidLogUtils.log(TAG, "方向盘是否转动=" + isTurning); if (isTurning) { - unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_STEERING, REASON_CHASSIS_STEERING); + unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_STEERING, manager.getString(R.string.adas_reason_chassis_steering)); } } } diff --git a/libraries/mogo-adas/src/main/res/values/strings.xml b/libraries/mogo-adas/src/main/res/values/strings.xml new file mode 100644 index 0000000000..3ec8098563 --- /dev/null +++ b/libraries/mogo-adas/src/main/res/values/strings.xml @@ -0,0 +1,60 @@ + + + 超时时间: + 最后刷新时间时间差: + 最后一条Telematics心跳接收时间 + 最后一条Telematics数据发送时间 + + + + 未知状态 + 依赖未就绪 + 启动中 + 运行 + 停止 + 无法启动状态 + 人为启动状态 + 人为关闭状态 + + + + + 未知状态 + 依赖未就绪 + 启动中 + 运行 + 停止 + 无法启动状态 + 非自动启动状态 + 非自动关闭状态 + + + 未知 + 未知异常 + 未知异常节点 + 系统正在启动 + 系统正在关闭 + 系统异常 + 平行驾驶启动中 + 平行驾驶运行中 + 未知系统状态 + SSM查询超时无响应 + FSM数据异常 + 刹车踏板 + 油门踏板 + 档位 + 危险报警灯 + 方向盘 + 系统处于停止模式(未就绪) + 系统处于停止模式 + 系统处于空闲模式(未就绪) + 系统处于空闲模式 + 未知系统模式 + SSM超时无响应 + FSM超时无响应 + + + + + +