diff --git a/config.gradle b/config.gradle index 697188d722..64130c0bcf 100644 --- a/config.gradle +++ b/config.gradle @@ -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" ] } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 6b44b4c9c6..d09bf832ee 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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 diff --git a/modules/mogo-module-obu/src/main/java/com/zhidao/mogo/module/obu/ObuManager.kt b/modules/mogo-module-obu/src/main/java/com/zhidao/mogo/module/obu/ObuManager.kt index f83918aea3..758a876a5c 100644 --- a/modules/mogo-module-obu/src/main/java/com/zhidao/mogo/module/obu/ObuManager.kt +++ b/modules/mogo-module-obu/src/main/java/com/zhidao/mogo/module/obu/ObuManager.kt @@ -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 + } } \ No newline at end of file