From 2cf3bc8463850f8cf2af8cbb6232c3e9d0343228 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Sun, 28 Jun 2020 10:00:32 +0800 Subject: [PATCH 1/5] opt --- .../com/mogo/launcher/MogoApplication.java | 2 + gradle.properties | 2 +- .../com/mogo/module/main/MainActivity.java | 8 +-- modules/mogo-module-obu/build.gradle | 3 - .../com/zhidao/mogo/module/obu/MockUtil.kt | 59 +++++++++++++------ 5 files changed, 47 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 50110c4f4e..f1f1c8a4ec 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -43,6 +43,7 @@ public class MogoApplication extends AbsMogoApplication { DebugConfig.setLaunchLocationService(BuildConfig.LAUNCH_LOCATION_SERVICE); DebugConfig.setUseCustomNavi(BuildConfig.USE_CUSTOM_NAVI); DebugConfig.setLauncher(BuildConfig.IS_LAUNCHER); + DebugConfig.setUseMockObuData(true); super.onCreate(); // Crash 日志收集 final long start = System.currentTimeMillis(); @@ -66,6 +67,7 @@ public class MogoApplication extends AbsMogoApplication { MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_SHARE, "ShareControl")); MogoModulePaths.addBaseModule( new MogoModule( ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY ) ); + MogoModulePaths.addBaseModule(new MogoModule(MogoServicePaths.PATH_OBU,"moduleObu")); MogoModulePaths.addBaseModule( new MogoModule( V2XConst.PATH_V2X_UI, V2XConst.PATH_V2X_UI ) ); // 暂时去掉推送 // MogoModulePaths.addModule(new MogoModule(PushUIConstants.TAG, PushUIConstants.TAG)); diff --git a/gradle.properties b/gradle.properties index 2cc9bfbac8..ce529a3a1c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -73,7 +73,7 @@ MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION=1.0.2-SNAPSHOT # 在线车辆F MOGO_MODULE_ONLINECAR_VERSION=1.0.3.2 # v2x -MOGO_MODULE_V2X_VERSION=1.1.36 +MOGO_MODULE_V2X_VERSION=1.1.36-SNAPSHOT # 推送 MOGO_MODULE_PUSH_VERSION=1.0.1 # 广告资源位 diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index 74302e8e52..72dff48b27 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -126,10 +126,10 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mMogoMapService.getHostListenerRegister().registerMarkerClickListener( this ); } -// IMogoObuManager obuManager = mServiceApis.getObuManager(); -// if(obuManager!=null) { -// obuManager.registerObuDataChangedListener(EventDispatchCenter.getInstance()); -// } + IMogoObuManager obuManager = mServiceApis.getObuManager(); + if(obuManager!=null) { + obuManager.registerObuDataChangedListener(EventDispatchCenter.getInstance()); + } EventDispatchCenter.getInstance().setMapLoadedCallback( () -> { Logger.d( TAG, "map loaded." + Thread.currentThread().getName() ); diff --git a/modules/mogo-module-obu/build.gradle b/modules/mogo-module-obu/build.gradle index 3545c6498a..655eabdb94 100644 --- a/modules/mogo-module-obu/build.gradle +++ b/modules/mogo-module-obu/build.gradle @@ -34,10 +34,7 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation rootProject.ext.dependencies.kotlinstdlibjdk7 - implementation rootProject.ext.dependencies.androidxappcompat - implementation rootProject.ext.dependencies.androidxrecyclerview implementation rootProject.ext.dependencies.androidxccorektx - implementation rootProject.ext.dependencies.androidxconstraintlayout implementation rootProject.ext.dependencies.arouter kapt rootProject.ext.dependencies.aroutercompiler implementation rootProject.ext.dependencies.rxjava diff --git a/modules/mogo-module-obu/src/main/java/com/zhidao/mogo/module/obu/MockUtil.kt b/modules/mogo-module-obu/src/main/java/com/zhidao/mogo/module/obu/MockUtil.kt index 92158e2f0f..683719dde5 100644 --- a/modules/mogo-module-obu/src/main/java/com/zhidao/mogo/module/obu/MockUtil.kt +++ b/modules/mogo-module-obu/src/main/java/com/zhidao/mogo/module/obu/MockUtil.kt @@ -1,18 +1,16 @@ package com.zhidao.mogo.module.obu -import com.mogo.service.obu.IMogoObuDataChangedListener import com.mogo.utils.logger.Logger import com.zhidao.smartv2x.listener.OnMessageReceiveListener import com.zhidao.smartv2x.model.obu.CarEventInfo -import com.zhidao.smartv2x.model.obu.CarLocationInfo -import com.zhidao.smartv2x.model.obu.TrafficLightInfo import io.reactivex.Observable import io.reactivex.Scheduler -import io.reactivex.Single +import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable -import io.reactivex.internal.operators.single.SingleSubscribeOn import io.reactivex.schedulers.Schedulers +import io.reactivex.schedulers.Schedulers.io import java.util.concurrent.TimeUnit +import kotlin.random.Random /** * 模拟相关操作及数据的单例类 @@ -32,21 +30,44 @@ object MockUtil { } private fun intervalMockData(){ - intervalObs = Observable.interval(1000,TimeUnit.MILLISECONDS).map { + intervalObs = Observable.interval(5000,TimeUnit.MILLISECONDS).map { it.toString() - }.subscribe { - val carLocationInfo = CarLocationInfo() - carLocationInfo.carId = "carLocation$it" - dataCallback.showCarLocationInfo(carLocationInfo) - val other = "other$it" - dataCallback.showOtherInfo(other) - val eventInfo = CarEventInfo() - eventInfo.describe = "event des $it" - eventInfo.type = "event type $it" - dataCallback.showCarEventInfo(eventInfo) - val traffic = TrafficLightInfo() - traffic.id = "traffic $it" - dataCallback.showTrafficLightInfo(traffic) + }.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe { + val random = Random.nextInt(0, 3) + Logger.d(TAG, "random====$random") + val carEventInfo = CarEventInfo() + when (random) { + 0->{ + // 绿波引导 + carEventInfo.type = ObuConstant.TYPE_OPTIMAL_SPEED_ADVISORY.toString() + carEventInfo.typeCode = ObuConstant.TYPE_OPTIMAL_SPEED_ADVISORY.toString() + val r = Random.nextInt(0, 3) + carEventInfo.describe = when (r) { + 0 -> "保持当前车速行驶!" + 1 -> "建议50km/h车速行驶" + else -> "建议30km/h ~ 50km/h 车速行驶" + } + dataCallback.showCarEventInfo(carEventInfo) + } + 1->{ + // 前方急刹预警 + carEventInfo.type = ObuConstant.TYPE_URGENCY_COLLISION_WARNING.toString() + carEventInfo.typeCode = ObuConstant.TYPE_URGENCY_COLLISION_WARNING.toString() + carEventInfo.describe = "这个应该是随便写,反正也不用" + dataCallback.showCarEventInfo(carEventInfo) + } + 2->{ + // 行人碰撞预警 + carEventInfo.type = ObuConstant.TYPE_ROAD_USER_COLLISION_WARNING.toString() + carEventInfo.typeCode = ObuConstant.TYPE_ROAD_USER_COLLISION_WARNING.toString() + carEventInfo.describe = "这个应该是随便写,反正也不用" + dataCallback.showCarEventInfo(carEventInfo) + } + else->{ + // 其他,不处理 + } + } + } } From e356fa1108220d50b3aa39b8d143436c0c827b57 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Sun, 28 Jun 2020 14:48:51 +0800 Subject: [PATCH 2/5] modify tanlu version --- gradle.properties | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 3e462078d4..70b918f391 100644 --- a/gradle.properties +++ b/gradle.properties @@ -61,7 +61,8 @@ MOGO_MODULE_OBU_VERSION = 1.2.1.10-SNAPSHOT ## 工程外部模块 # 探路 -MOGO_MODULE_TANLU_VERSION=1.2.1.5 +MOGO_MODULE_TANLU_VERSION=1.2.1.8-SNAPSHOT + # 车聊聊 CARCHATTING_VERSION=1.1.9 # 车聊聊接口 @@ -79,7 +80,7 @@ MOGO_MODULE_PUSH_VERSION=1.0.1 # 广告资源位 MOGO_MODULE_AD_CARD_VERSION=1.0.1 # 探路上报和分享模块 -TANLULIB_VERSION=1.2.1.7 +TANLULIB_VERSION=1.2.1.8-SNAPSHOT # Boost分包 From dcb88d70dc328cfc1e87bb7fa630dcbdaa10236c Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Sun, 28 Jun 2020 15:37:34 +0800 Subject: [PATCH 3/5] opt --- .../java/com/mogo/launcher/MogoApplication.java | 1 - .../java/com/zhidao/mogo/module/obu/MockUtil.kt | 12 ++++++------ .../com/zhidao/mogo/module/obu/ObuManager.kt | 16 ++++++++++++---- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index f1f1c8a4ec..2204824228 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -43,7 +43,6 @@ public class MogoApplication extends AbsMogoApplication { DebugConfig.setLaunchLocationService(BuildConfig.LAUNCH_LOCATION_SERVICE); DebugConfig.setUseCustomNavi(BuildConfig.USE_CUSTOM_NAVI); DebugConfig.setLauncher(BuildConfig.IS_LAUNCHER); - DebugConfig.setUseMockObuData(true); super.onCreate(); // Crash 日志收集 final long start = System.currentTimeMillis(); diff --git a/modules/mogo-module-obu/src/main/java/com/zhidao/mogo/module/obu/MockUtil.kt b/modules/mogo-module-obu/src/main/java/com/zhidao/mogo/module/obu/MockUtil.kt index 683719dde5..d8d0563ce3 100644 --- a/modules/mogo-module-obu/src/main/java/com/zhidao/mogo/module/obu/MockUtil.kt +++ b/modules/mogo-module-obu/src/main/java/com/zhidao/mogo/module/obu/MockUtil.kt @@ -39,8 +39,8 @@ object MockUtil { when (random) { 0->{ // 绿波引导 - carEventInfo.type = ObuConstant.TYPE_OPTIMAL_SPEED_ADVISORY.toString() - carEventInfo.typeCode = ObuConstant.TYPE_OPTIMAL_SPEED_ADVISORY.toString() + carEventInfo.type = "绿波车速引导" + carEventInfo.typeCode = "13" val r = Random.nextInt(0, 3) carEventInfo.describe = when (r) { 0 -> "保持当前车速行驶!" @@ -51,15 +51,15 @@ object MockUtil { } 1->{ // 前方急刹预警 - carEventInfo.type = ObuConstant.TYPE_URGENCY_COLLISION_WARNING.toString() - carEventInfo.typeCode = ObuConstant.TYPE_URGENCY_COLLISION_WARNING.toString() + carEventInfo.type = "紧急制动预警" + carEventInfo.typeCode = "06" carEventInfo.describe = "这个应该是随便写,反正也不用" dataCallback.showCarEventInfo(carEventInfo) } 2->{ // 行人碰撞预警 - carEventInfo.type = ObuConstant.TYPE_ROAD_USER_COLLISION_WARNING.toString() - carEventInfo.typeCode = ObuConstant.TYPE_ROAD_USER_COLLISION_WARNING.toString() + carEventInfo.type = "行人碰撞预警" + carEventInfo.typeCode = "39" carEventInfo.describe = "这个应该是随便写,反正也不用" dataCallback.showCarEventInfo(carEventInfo) } 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 00b18e6948..f83918aea3 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 @@ -99,7 +99,9 @@ class ObuManager: IMogoObuManager { */ override fun showCarLocationInfo(info: CarLocationInfo?) { Logger.d(TAG, "thread: ${Thread.currentThread()} showCarLocationInfo: ${info?.carId}") - dataChangedListener?.showCarLocationInfo(info) + handler.post{ + dataChangedListener?.showCarLocationInfo(info) + } } /** @@ -107,7 +109,9 @@ class ObuManager: IMogoObuManager { */ override fun showOtherInfo(info: String?) { Logger.d(TAG, "thread: ${Thread.currentThread()} showOtherInfo: $info") - dataChangedListener?.showOtherInfo(info) + handler.post{ + dataChangedListener?.showOtherInfo(info) + } } /** @@ -115,7 +119,9 @@ class ObuManager: IMogoObuManager { */ override fun showTrafficLightInfo(info: TrafficLightInfo?) { Logger.d(TAG, "thread: ${Thread.currentThread()} showTrafficLightInfo: ${info?.id}") - dataChangedListener?.showTrafficLightInfo(info) + handler.post{ + dataChangedListener?.showTrafficLightInfo(info) + } } /** @@ -123,6 +129,8 @@ class ObuManager: IMogoObuManager { */ override fun showCarEventInfo(info: CarEventInfo?) { Logger.d(TAG, "thread: ${Thread.currentThread()} showCarEventInfo: ${info?.type}") - dataChangedListener?.showCarEventInfo(info) + handler.post { + dataChangedListener?.showCarEventInfo(info) + } } } \ No newline at end of file From 2b1a1870f9e0735f5a07abdcdc44293507b47b4a Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Sun, 28 Jun 2020 17:50:07 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=8D=87=E7=BA=A7module=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 54 +++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/gradle.properties b/gradle.properties index 2474d54a68..6b44b4c9c6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -27,34 +27,34 @@ PASSWORD=xintai2018 RELEASE=false # 模块版本 ## 工程内模块 -MOGO_COMMONS_VERSION=1.2.1.11 -MOGO_UTILS_VERSION=1.2.1.11 -MAP_AMAP_VERSION=1.2.1.11 -MAP_AUTONAVI_VERSION=1.2.1.11 -MOGO_MAP_VERSION=1.2.1.11 -MOGO_MAP_API_VERSION=1.2.1.11 -MOGO_SERVICE_VERSION=1.2.1.11 -MOGO_SERVICE_API_VERSION=1.2.1.11 -MOGO_CONNECTION_VERSION=1.2.1.11 -MOGO_MODULE_APPS_VERSION=1.2.1.11 -MOGO_MODULE_NAVI_VERSION=1.2.1.11 -MOGO_MODULE_SHARE_VERSION=1.2.1.11 -MOGO_MODULE_COMMON_VERSION=1.2.1.12 -MOGO_MODULE_MAIN_VERSION=1.2.1.11 -MOGO_MODULE_MAP_VERSION=1.2.1.11 -MOGO_MODULE_SERVICE_VERSION=1.2.1.11 -MOGO_MODULE_EXTENSIONS_VERSION=1.2.1.11 -MOGO_MODULE_SEARCH_VERSION=1.2.1.11 -MOGO_MODULE_BACK_VERSION=1.2.1.11 -MOGO_MODULE_GPS_SIMULATOR_VERSION=1.2.1.11 -MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.2.1.11 -MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.2.1.11 -MOGO_MODULE_AUTHORIZE_VERSION=1.2.1.11 -MOGO_MODULE_GUIDE_VERSION=1.2.1.11 -MOGO_MODULE_MEDIA_VERSION=1.2.1.11 +MOGO_COMMONS_VERSION=1.2.1.12-shunyi +MOGO_UTILS_VERSION=1.2.1.12-shunyi +MAP_AMAP_VERSION=1.2.1.12-shunyi +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_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_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 +MOGO_MODULE_EXTENSIONS_VERSION=1.2.1.12-shunyi +MOGO_MODULE_SEARCH_VERSION=1.2.1.12-shunyi +MOGO_MODULE_BACK_VERSION=1.2.1.12-shunyi +MOGO_MODULE_GPS_SIMULATOR_VERSION=1.2.1.12-shunyi +MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.2.1.12-shunyi +MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.2.1.12-shunyi +MOGO_MODULE_AUTHORIZE_VERSION=1.2.1.12-shunyi +MOGO_MODULE_GUIDE_VERSION=1.2.1.12-shunyi +MOGO_MODULE_MEDIA_VERSION=1.2.1.12-shunyi -MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.2.1.11 -MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.2.1.11 +MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.2.1.12-shunyi +MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.2.1.12-shunyi MOGO_MODULE_OBU_VERSION = 1.2.1.10-SNAPSHOT From f8e084334b59711a276b7a5a3e5e436b2199a5da Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Sun, 28 Jun 2020 19:35:30 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=96=B0=E5=A2=9Eobu=E5=AE=B9=E9=94=99?= =?UTF-8?q?=E9=87=8D=E8=BF=9E=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.gradle | 2 +- gradle.properties | 6 ++-- .../com/zhidao/mogo/module/obu/ObuManager.kt | 36 +++++++++++++++++-- 3 files changed, 37 insertions(+), 7 deletions(-) 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