[630][adas] 根据产品文档添加连接状态对应的中文描述f

This commit is contained in:
xinfengkun
2024-02-28 18:53:06 +08:00
parent fd31740cf6
commit 25b791ec15
2 changed files with 91 additions and 0 deletions

View File

@@ -67,6 +67,7 @@ android {
}
dependencies {
implementation rootProject.ext.dependencies.androidxappcompat
api rootProject.ext.dependencies.protobuf_java
api rootProject.ext.dependencies.protobuf_java_util
}

View File

@@ -0,0 +1,90 @@
package com.zhjt.mogo.adas.common;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.zhjt.mogo.adas.data.AdasConstants;
/**
* 连接状态描述信息
* 文案消息根据产品文档定义详情见地址中的“工控机相关异常完善提示内容”模块http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=126243915
*/
public enum IpcConnectionStatusDescription {
DISCONNECTED(AdasConstants.IpcConnectionStatus.DISCONNECTED, "未连接或主动断开连接", "连接异常", "域控未连接或主动断开连接", "域控未连接或主动断开连接", "未连接:首次启动时未调用连接函数;主动断开连接:主动调用断开连接函数;"),
CONNECTED(AdasConstants.IpcConnectionStatus.CONNECTED, "已连接", "域控已连接", null, "域控已连接", null),
CONNECTING(AdasConstants.IpcConnectionStatus.CONNECTING, "连接中", "域控连接中", null, "域控连接中", null),
RECONNECTING_TIMER(AdasConstants.IpcConnectionStatus.RECONNECTING_TIMER, "重连中(定时器)", "域控重连中", null, "域控重连中", null),
RECONNECTING_NETWORK(AdasConstants.IpcConnectionStatus.RECONNECTING_NETWORK, "重连中(网络监听)", "域控重连中", null, "域控重连中", null),
CONNECT_EXCEPTION(AdasConstants.IpcConnectionStatus.CONNECT_EXCEPTION, "连接异常", "连接异常", "域控连接异常", "域控连接异常", "与域控连接失败、无法连接、非正常断开等"),
ILLEGAL_ADDRESS(AdasConstants.IpcConnectionStatus.ILLEGAL_ADDRESS, "非法地址", "非法域控地址", null, "非法域控地址", "连接模式为指定地址时表示当前调用连接时传入的域控地址错误或不符合规则【不修改默认配置不会出现此问题】连接模式为PING模式时表示传入的PING地址列表存在问题【不修改默认配置不会出现此问题】"),
SEARCH_ADDRESS(AdasConstants.IpcConnectionStatus.SEARCH_ADDRESS, "搜索中", "正在搜索域控地址", null, "正在搜索域控地址", "连接模式为PING模式时,正在查找是否有可用的域控地址"),
NOT_FOUND_ADDRESS(AdasConstants.IpcConnectionStatus.NOT_FOUND_ADDRESS, "未找到", "找不到可用的域控地址", null, "找不到可用的域控地址", "连接模式为PING模式时,配置的域控地址列表中的全部地址均无法PING通【不修改默认配置的情况下需要排查PAD是否连接车载路由器、工控机是否连接车载路由器、工控机是否开机等】"),
CERTIFICATION_FAILED(AdasConstants.IpcConnectionStatus.CERTIFICATION_FAILED, "认证异常", "证书校验出现异常", null, "证书校验出现异常", "鹰眼端或鹰眼端和域控端启用认证后,认证出现异常"),
HEARTBEAT_TIMEOUT(AdasConstants.IpcConnectionStatus.HEARTBEAT_TIMEOUT, "心跳超时", "域控心跳超时", null, "域控心跳超时", "连接域控成功后在一段时间内未收到域控任何数据默认4秒【可以配置】"),
PROTOCOL_MISMATCH(AdasConstants.IpcConnectionStatus.PROTOCOL_MISMATCH, "协议不匹配", "协议不匹配", "WebSocket协议不匹配", "协议不匹配", "被连接的域控端非WebSocket协议【可能性非常低】"),
SERVER_DISCONNECTED(AdasConstants.IpcConnectionStatus.SERVER_DISCONNECTED, "域控断开", "域控主动断开连接", null, "域控主动断开连接", "域控主动发起断开WebSocket连接目前主要原因有1.证书认证失败2.老版本MAP不支持多连接的情况下会踢掉客户端");
@NonNull
public final AdasConstants.IpcConnectionStatus status;
@NonNull
public final String name;//消息类型准确定义名称
@NonNull
public final String title;//对应产品文档的标题/toast
@Nullable
public final String content;//对应产品文档的正文
@NonNull
public final String expand;//对应产品文档的小拓展栏
@Nullable
public final String desc;//描述或简单的解决办法或出现此状态的原因
public String msg;//自定义消息数据
IpcConnectionStatusDescription(@NonNull AdasConstants.IpcConnectionStatus status, @NonNull String name, @NonNull String title, @Nullable String content, @NonNull String expand, @Nullable String desc) {
this.status = status;
this.name = name;
this.title = title;
this.content = content;
this.expand = expand;
this.desc = desc;
}
@NonNull
public static IpcConnectionStatusDescription getDescription(@Nullable AdasConstants.IpcConnectionStatus status) {
if (status == AdasConstants.IpcConnectionStatus.CONNECTED) {
return CONNECTED;
} else if (status == AdasConstants.IpcConnectionStatus.CONNECTING) {
return CONNECTING;
} else if (status == AdasConstants.IpcConnectionStatus.RECONNECTING_TIMER) {
return RECONNECTING_TIMER;
} else if (status == AdasConstants.IpcConnectionStatus.RECONNECTING_NETWORK) {
return RECONNECTING_NETWORK;
} else if (status == AdasConstants.IpcConnectionStatus.CONNECT_EXCEPTION) {
return CONNECT_EXCEPTION;
} else if (status == AdasConstants.IpcConnectionStatus.ILLEGAL_ADDRESS) {
return ILLEGAL_ADDRESS;
} else if (status == AdasConstants.IpcConnectionStatus.SEARCH_ADDRESS) {
return SEARCH_ADDRESS;
} else if (status == AdasConstants.IpcConnectionStatus.NOT_FOUND_ADDRESS) {
return NOT_FOUND_ADDRESS;
} else if (status == AdasConstants.IpcConnectionStatus.CERTIFICATION_FAILED) {
return CERTIFICATION_FAILED;
} else if (status == AdasConstants.IpcConnectionStatus.HEARTBEAT_TIMEOUT) {
return HEARTBEAT_TIMEOUT;
} else if (status == AdasConstants.IpcConnectionStatus.PROTOCOL_MISMATCH) {
return PROTOCOL_MISMATCH;
} else if (status == AdasConstants.IpcConnectionStatus.SERVER_DISCONNECTED) {
return SERVER_DISCONNECTED;
} else {
// status==AdasConstants.IpcConnectionStatus.DISCONNECTED
return DISCONNECTED;
}
}
@NonNull
@Override
public String toString() {
return name;
}
}