新增obu容错重连机制
This commit is contained in:
@@ -158,6 +158,6 @@ ext {
|
||||
tanluupload : "com.mogo.module:module-tanlu-upload:${TANLULIB_VERSION}",
|
||||
|
||||
// obu sdk
|
||||
obusdk : "com.zhidao.enterprise.smartv2x:smartv2x:1.0.0.2"
|
||||
obusdk : "com.zhidao.enterprise.smartv2x:smartv2x:1.0.0.3"
|
||||
]
|
||||
}
|
||||
@@ -24,7 +24,7 @@ SNAPSHOT_REPOSITORY_URL=http://nexus.zhidaoauto.com/repository/maven-snapshots/
|
||||
USERNAME=xintai
|
||||
PASSWORD=xintai2018
|
||||
# 编译模式: false - 依赖本地版本, true - 依赖 maven 版本
|
||||
RELEASE=false
|
||||
RELEASE=true
|
||||
# 模块版本
|
||||
## 工程内模块
|
||||
MOGO_COMMONS_VERSION=1.2.1.12-shunyi
|
||||
@@ -34,12 +34,12 @@ MAP_AUTONAVI_VERSION=1.2.1.12-shunyi
|
||||
MOGO_MAP_VERSION=1.2.1.12-shunyi
|
||||
MOGO_MAP_API_VERSION=1.2.1.12-shunyi
|
||||
MOGO_SERVICE_VERSION=1.2.1.12-shunyi
|
||||
MOGO_SERVICE_API_VERSION=1.2.1.12-shunyi
|
||||
MOGO_SERVICE_API_VERSION=1.2.1.13-shunyi
|
||||
MOGO_CONNECTION_VERSION=1.2.1.12-shunyi
|
||||
MOGO_MODULE_APPS_VERSION=1.2.1.12-shunyi
|
||||
MOGO_MODULE_NAVI_VERSION=1.2.1.12-shunyi
|
||||
MOGO_MODULE_SHARE_VERSION=1.2.1.12-shunyi
|
||||
MOGO_MODULE_COMMON_VERSION=1.2.1.12-shunyi
|
||||
MOGO_MODULE_COMMON_VERSION=1.2.1.13-shunyi
|
||||
MOGO_MODULE_MAIN_VERSION=1.2.1.12-shunyi
|
||||
MOGO_MODULE_MAP_VERSION=1.2.1.12-shunyi
|
||||
MOGO_MODULE_SERVICE_VERSION=1.2.1.12-shunyi
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.content.Context
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.os.Message
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
@@ -28,9 +29,11 @@ import com.zhidao.smartv2x.model.obu.TrafficLightInfo
|
||||
* @author tongchenfei
|
||||
*/
|
||||
@Route(path = MogoServicePaths.PATH_OBU)
|
||||
class ObuManager: IMogoObuManager {
|
||||
class ObuManager: IMogoObuManager,Handler.Callback {
|
||||
companion object{
|
||||
const val TAG = "ObuManger"
|
||||
const val MSG_MONITOR_OBU_STATUS = 1001
|
||||
const val DEFAULT_MONITOR_TIME = 10_000L
|
||||
}
|
||||
private var dataChangedListener: IMogoObuDataChangedListener? = null
|
||||
|
||||
@@ -58,7 +61,10 @@ class ObuManager: IMogoObuManager {
|
||||
MockUtil.init(this)
|
||||
} else {
|
||||
// 初始化sdk,注册数据回调等信息
|
||||
V2xController.getInstance().setMessageReceiveListener(this@ObuManager)
|
||||
V2xController.getInstance().setMessageReceiveListener(this)
|
||||
V2xController.getInstance().init()
|
||||
// V2xController.getInstance().setMessageReceiveListener(this@ObuManager)
|
||||
handler.sendEmptyMessageDelayed(MSG_MONITOR_OBU_STATUS, DEFAULT_MONITOR_TIME)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,7 +104,14 @@ class ObuManager: IMogoObuManager {
|
||||
* 车辆位置信息回调接口
|
||||
*/
|
||||
override fun showCarLocationInfo(info: CarLocationInfo?) {
|
||||
Logger.d(TAG, "thread: ${Thread.currentThread()} showCarLocationInfo: ${info?.carId}")
|
||||
Logger.v(TAG, "thread: ${Thread.currentThread()} showCarLocationInfo: ${info?.carId}")
|
||||
if(!DebugConfig.isUseMockObuData()) {
|
||||
// 不使用模拟数据时候不做此处理
|
||||
// 由于obu会频繁回调此接口,故10秒收不到此数据,则认为obu连接不正常,就断开重连一下
|
||||
handler.removeMessages(MSG_MONITOR_OBU_STATUS)
|
||||
handler.sendEmptyMessageDelayed(MSG_MONITOR_OBU_STATUS, DEFAULT_MONITOR_TIME)
|
||||
}
|
||||
|
||||
handler.post{
|
||||
dataChangedListener?.showCarLocationInfo(info)
|
||||
}
|
||||
@@ -133,4 +146,21 @@ class ObuManager: IMogoObuManager {
|
||||
dataChangedListener?.showCarEventInfo(info)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param msg A [Message][android.os.Message] object
|
||||
* @return True if no further handling is desired
|
||||
*/
|
||||
override fun handleMessage(msg: Message?): Boolean {
|
||||
if (msg?.what == MSG_MONITOR_OBU_STATUS) {
|
||||
// obu未正常连接,需要重新连接
|
||||
Logger.d(TAG,"obu未正常连接,需要重新连接")
|
||||
V2xController.getInstance().release()
|
||||
V2xController.getInstance().setMessageReceiveListener(this)
|
||||
V2xController.getInstance().init()
|
||||
// V2xController.getInstance().release()
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user