[630][app] 根据产品文档添加域控连接时产生的状态进行toast提示

This commit is contained in:
xinfengkun
2024-03-04 18:32:19 +08:00
parent 3c44f6a75a
commit 99ac955f7b
2 changed files with 17 additions and 13 deletions

View File

@@ -295,7 +295,7 @@ class MoGoAutopilotControlProvider :
*/
override fun resetIpAddress(autoPilotIp: String) {
// 关闭通信
AdasManager.getInstance().disconnect()
// AdasManager.getInstance().disconnect()
// 延时执行连接指定IP地址
ThreadUtils.executeBySingleWithDelay(object : ThreadUtils.SimpleTask<String>() {
@RequiresPermission(permission.INTERNET)

View File

@@ -42,7 +42,6 @@ class MoGoAdasMsgConnectStatusListenerImpl :
private const val TAG = "ConnectStatus"
}
private var connectStatus = false
init {
CallerCloudListenerManager.addListener(TAG, this)
@@ -50,14 +49,11 @@ class MoGoAdasMsgConnectStatusListenerImpl :
CallerParallelDrivingActionsListenerManager.setConnected(AdasManager.getInstance().ipcConnectionStatus == AdasConstants.IpcConnectionStatus.CONNECTED)
}
private fun resetArgs(reason: String? = null) {
if (connectStatus) {
reason?.let {
ToastUtils.showLong(it)
}
connectStatus = false
}
private fun connectToast(reason: String) {
ToastUtils.showShort(reason)
}
private fun resetArgs() {
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().connectIP =
AdasManager.getInstance().ipcConnectedIp
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().connectPort =
@@ -93,7 +89,6 @@ class MoGoAdasMsgConnectStatusListenerImpl :
AdasConstants.IpcConnectionStatus.CONNECTED -> {
CallerLogger.d("$M_D_C$TAG", "已连接")
connectStatus = true
// 初始化自动驾驶状态信息
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().connectIP =
AdasManager.getInstance().ipcConnectedIp
@@ -113,18 +108,22 @@ class MoGoAdasMsgConnectStatusListenerImpl :
}
//每次工控机连接成功后,需同步当前设置的雨天模式状态
CallerAutoPilotControlManager.setRainMode(FunctionBuildConfig.isRainMode)
connectToast("域控已连接")
}
AdasConstants.IpcConnectionStatus.CONNECTING -> {
CallerLogger.d("$M_D_C$TAG", "连接中")
connectToast("域控连接中")
}
AdasConstants.IpcConnectionStatus.RECONNECTING_TIMER -> {
CallerLogger.d("$M_D_C$TAG", "重连中(定时器)")
connectToast("域控重连中")
}
AdasConstants.IpcConnectionStatus.RECONNECTING_NETWORK -> {
CallerLogger.d("$M_D_C$TAG", "重连中(网络监听)")
connectToast("域控重连中")
}
AdasConstants.IpcConnectionStatus.CONNECT_EXCEPTION -> {
@@ -132,7 +131,7 @@ class MoGoAdasMsgConnectStatusListenerImpl :
"$M_D_C$TAG",
"连接异常(表示鹰眼与域控连接失败、无法连接、非正常断开等),原因:$reason"
)
resetArgs("域控连接异常,等待重连。原因:${reason}")
resetArgs()
}
AdasConstants.IpcConnectionStatus.ILLEGAL_ADDRESS -> {
@@ -141,6 +140,7 @@ class MoGoAdasMsgConnectStatusListenerImpl :
"非法地址连接模式为指定地址时表示当前鹰眼调用连接时传入的域控地址错误或不符合规则【不修改默认配置不会出现此问题】连接模式为PING模式时表示传入的PING地址列表存在问题"
)
resetArgs()
connectToast("非法域控地址")
}
AdasConstants.IpcConnectionStatus.SEARCH_ADDRESS -> {
@@ -148,6 +148,7 @@ class MoGoAdasMsgConnectStatusListenerImpl :
"$M_D_C$TAG",
"正在搜索域控地址(表示当前鹰眼正在查找是否有可用的域控地址)"
)
connectToast("正在搜索域控地址")
}
AdasConstants.IpcConnectionStatus.NOT_FOUND_ADDRESS -> {
@@ -156,6 +157,7 @@ class MoGoAdasMsgConnectStatusListenerImpl :
"找不到可用地址当前鹰眼配置的域控地址列表中的全部地址均无法PING通【不修改默认配置的情况下需要排查PAD是否连接车载路由器、工控机是否连接车载路由器、工控机是否开机等】"
)
resetArgs()
connectToast("找不到可用的域控地址")
}
AdasConstants.IpcConnectionStatus.CERTIFICATION_FAILED -> {
@@ -171,7 +173,8 @@ class MoGoAdasMsgConnectStatusListenerImpl :
"$M_D_C$TAG",
"心跳超时表示连接域控成功后在一段时间内未收到域控任何数据默认4秒【可以配置】超时时间${reason}"
)
resetArgs("与域控心跳超时,等待重连")
resetArgs()
connectToast("域控心跳超时")
}
AdasConstants.IpcConnectionStatus.PROTOCOL_MISMATCH -> {
@@ -187,7 +190,8 @@ class MoGoAdasMsgConnectStatusListenerImpl :
"$M_D_C$TAG",
"域控主动断开连接表示域控主动发起断开WebSocket连接目前主要原因有1.证书认证失败2.老版本MAP不支持多连接的情况下会踢掉客户端域控断开发送的消息${reason}"
)
resetArgs("域控主动断开连接,等待重连。可能原因:证书认证失败或不支持多连接")
resetArgs()
connectToast("域控主动断开连接")
}
}
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().ipcConnStatus = status