[Update]优化多屏连接状态

This commit is contained in:
chenfufeng
2022-05-18 16:44:16 +08:00
parent 424b6e2b40
commit 94220d6230
3 changed files with 32 additions and 18 deletions

View File

@@ -26,7 +26,6 @@ import com.mogo.eagle.core.function.autopilot.adapter.MoGoHandAdasMsgManager
import com.mogo.eagle.core.function.autopilot.server.AsyncDataToAutopilotServer
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarConfigListenerManager
import com.mogo.eagle.core.function.call.bindingcar.CallerBindingcarManager
import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
@@ -66,6 +65,8 @@ class MoGoAutopilotProvider :
IMoGoAutopilotCarConfigListener {
private val TAG = "MoGoAutoPilotProvider"
private var mContext: Context? = null
@Volatile
private var isFirstDisc = true
override val functionName: String
get() = TAG
@@ -499,11 +500,14 @@ class MoGoAutopilotProvider :
}
}
private fun handleConnStatusWithServer(statusCode: Int, sign: String?) {
private fun handleConnStatusWithServer(statusCode: Int, content: String?) {
when (statusCode) {
ConnectState.STATUS_CONNECT_SUCCESS -> {
if (!isFirstDisc) {
isFirstDisc = true
}
ToastUtils.showShort("连接司机屏成功!")
invokeNettyConnResult("乘客屏连接司机屏成功司机屏SN为$sign")
invokeNettyConnResult("乘客屏连接司机屏成功")
// 连接成功后,乘客屏没拿到车牌号就像司机屏请求
if (AppConfigInfo.plateNumber.isNullOrEmpty()) {
var byteArray = byteArrayOf(0)
@@ -514,10 +518,20 @@ class MoGoAutopilotProvider :
}
}
}
else -> {
ToastUtils.showLong("和司机端连接异常!")
invokeNettyConnResult("乘客屏和司机屏连接异常,状态码为:$statusCode")
ConnectState.STATUS_CONNECT_CLOSED -> {// 由于重连机制会回调多次
if (isFirstDisc) {
isFirstDisc = false
AppConfigInfo.plateNumber = ""
ToastUtils.showLong("断开和司机屏的连接!")
invokeNettyConnResult("断开和司机屏的连接!")
}
}
ConnectState.STATUS_CONNECT_ERROR -> {
AppConfigInfo.plateNumber = ""
ToastUtils.showLong("和司机端连接异常!")
invokeNettyConnResult("乘客屏和司机屏连接异常,错误为:$content")
}
else -> {}
}
}