[630][adas] 新增域控认证;优化重连机制:无限重连、用不重连、指定次数重连;优化连接状态;新增设置是否启用超时检测;新增是否自动连接;
This commit is contained in:
@@ -17,6 +17,7 @@ import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.zhjt.mogo.adas.data.AdasConstants
|
||||
import kotlinx.android.synthetic.main.view_blue_tooth.view.*
|
||||
import java.util.concurrent.TimeUnit
|
||||
import java.util.concurrent.atomic.AtomicInteger
|
||||
@@ -99,7 +100,7 @@ open class BlueToothView: LinearLayout, IMoGoMoFangProvider.OnMoFangStatusListen
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) {
|
||||
override fun onAutopilotIpcConnectStatusChanged(status: AdasConstants.IpcConnectionStatus, reason: String?) {
|
||||
super.onAutopilotIpcConnectStatusChanged(status, reason)
|
||||
if (!CallerAutoPilotStatusListenerManager.isConnect()) {
|
||||
UiThreadHandler.post {
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.mogo.eagle.core.function.hmi.notification.WarningFloat
|
||||
import com.mogo.eagle.core.function.hmi.ui.tools.DockerRebootDialog
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.zhjt.mogo.adas.data.AdasConstants
|
||||
import kotlinx.android.synthetic.main.view_check_system.view.*
|
||||
|
||||
class CheckSystemView @JvmOverloads constructor(
|
||||
@@ -100,10 +101,10 @@ class CheckSystemView @JvmOverloads constructor(
|
||||
CallerAutoPilotStatusListenerManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) {
|
||||
override fun onAutopilotIpcConnectStatusChanged(status: AdasConstants.IpcConnectionStatus, reason: String?) {
|
||||
super.onAutopilotIpcConnectStatusChanged(status, reason)
|
||||
ThreadUtils.runOnUiThread {
|
||||
setViewStatus(status == 0x00)
|
||||
setViewStatus(status == AdasConstants.IpcConnectionStatus.CONNECTED)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils.OnNetworkStatusChangedListener
|
||||
import com.mogo.eagle.core.utilcode.util.SpanUtils
|
||||
import com.zhjt.mogo.adas.data.AdasConstants
|
||||
import kotlinx.android.synthetic.main.view_connect_status.view.tvADASStatus
|
||||
import kotlinx.android.synthetic.main.view_connect_status.view.tvNetStatus
|
||||
|
||||
@@ -105,11 +106,14 @@ class ConnectStatusView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) {
|
||||
override fun onAutopilotIpcConnectStatusChanged(
|
||||
status: AdasConstants.IpcConnectionStatus,
|
||||
reason: String?
|
||||
) {
|
||||
super.onAutopilotIpcConnectStatusChanged(status, reason)
|
||||
tvADASStatus.post {
|
||||
when (status) {
|
||||
IPC_CONNECTION_STATUS.CONNECTED -> {
|
||||
AdasConstants.IpcConnectionStatus.CONNECTED -> {
|
||||
// 统计代码
|
||||
val properties: MutableMap<String, Any> = HashMap()
|
||||
properties["连接状态"] = "已连接"
|
||||
@@ -135,7 +139,15 @@ class ConnectStatusView @JvmOverloads constructor(
|
||||
MogoAnalyticUtils.track("IPC_CONNECTION_STATUS", properties)
|
||||
}
|
||||
|
||||
IPC_CONNECTION_STATUS.DISCONNECTED -> {
|
||||
AdasConstants.IpcConnectionStatus.DISCONNECTED,//未连接或主动断开连接(不管是否配置重连都不进行重连)
|
||||
AdasConstants.IpcConnectionStatus.CONNECT_EXCEPTION,//连接异常
|
||||
AdasConstants.IpcConnectionStatus.ILLEGAL_ADDRESS,//非法地址不管是否配置重连都不进行重连)
|
||||
AdasConstants.IpcConnectionStatus.NOT_FOUND_ADDRESS,//找不到可用地址
|
||||
AdasConstants.IpcConnectionStatus.CERTIFICATION_FAILED,//认证异常(不管是否配置重连都不进行重连)
|
||||
AdasConstants.IpcConnectionStatus.HEARTBEAT_TIMEOUT,//心跳超时
|
||||
AdasConstants.IpcConnectionStatus.PROTOCOL_MISMATCH,//協議不匹配
|
||||
AdasConstants.IpcConnectionStatus.SERVER_DISCONNECTED,//服务端主动断开连接
|
||||
-> {
|
||||
disconnectADASCount++
|
||||
disconnectADASTime = System.currentTimeMillis()
|
||||
val adasSpan = SpanUtils.with(tvADASStatus)
|
||||
@@ -173,33 +185,4 @@ class ConnectStatusView @JvmOverloads constructor(
|
||||
CallerAutoPilotStatusListenerManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
interface IPC_CONNECTION_STATUS {
|
||||
companion object {
|
||||
/**
|
||||
* 已连接
|
||||
*/
|
||||
const val CONNECTED = 0x00
|
||||
|
||||
/**
|
||||
* 未连接
|
||||
*/
|
||||
const val DISCONNECTED = 0x01
|
||||
|
||||
/**
|
||||
* 正在连接
|
||||
*/
|
||||
const val CONNECTING = 0x02
|
||||
|
||||
/**
|
||||
* 正在搜索IP
|
||||
*/
|
||||
const val SEARCH_ADDRESS = 0x03
|
||||
|
||||
/**
|
||||
* 找不到可用IP 传入的IP不可用或固定IP列表中所有IP不可用
|
||||
*/
|
||||
const val NOT_FOUND_ADDRESS = 0x04
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -51,6 +51,7 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.map.listener.IMogoMapListener
|
||||
import com.mogo.map.listener.MogoMapListenerHandler.Companion.mogoMapListenerHandler
|
||||
import com.mogo.map.uicontroller.EnumMapUI
|
||||
import com.zhjt.mogo.adas.data.AdasConstants
|
||||
import com.zhjt.service.chain.ChainLog
|
||||
import kotlinx.android.synthetic.main.module_main_activity_main.module_main_id_cover_up
|
||||
import kotlinx.android.synthetic.main.module_main_activity_main.rvConnectInfo
|
||||
@@ -71,8 +72,8 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
|
||||
private var isFirst = false
|
||||
private var mConnAdapter: ConnInfoAdapter? = null
|
||||
private val dataList: List<AutopilotStatusInfo> = ArrayList()
|
||||
// private var mLastStatus = 0x00
|
||||
private var mLastStatus = 0x01
|
||||
// private var mLastStatus = AdasConstants.IpcConnectionStatus.CONNECTED
|
||||
private var mLastStatus = AdasConstants.IpcConnectionStatus.DISCONNECTED
|
||||
private var isFloatingLayerHidden = false
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
@@ -323,7 +324,7 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
|
||||
MogoStatusManager.getInstance().setMainPageIsBackgroundStatus(TAG, true)
|
||||
}
|
||||
|
||||
override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) {
|
||||
override fun onAutopilotIpcConnectStatusChanged(status: AdasConstants.IpcConnectionStatus, reason: String?) {
|
||||
super.onAutopilotIpcConnectStatusChanged(status, reason)
|
||||
UiThreadHandler.post {
|
||||
if(mLastStatus != status){
|
||||
|
||||
Reference in New Issue
Block a user