Merge branch 'demo/shunyi_v2v' of gitlab.zhidaoauto.com:ecos/yycp-service/Launcher into demo/shunyi_v2v
This commit is contained in:
@@ -66,6 +66,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));
|
||||
|
||||
|
||||
@@ -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,44 +24,45 @@ 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.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.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.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
|
||||
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
|
||||
|
||||
|
||||
## 工程外部模块
|
||||
# 探路
|
||||
MOGO_MODULE_TANLU_VERSION=1.2.1.5
|
||||
MOGO_MODULE_TANLU_VERSION=1.2.1.8-SNAPSHOT
|
||||
|
||||
# 车聊聊
|
||||
CARCHATTING_VERSION=1.1.9
|
||||
# 车聊聊接口
|
||||
@@ -73,13 +74,13 @@ 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.1.3
|
||||
# 广告资源位
|
||||
MOGO_MODULE_AD_CARD_VERSION=1.0.1
|
||||
# 探路上报和分享模块
|
||||
TANLULIB_VERSION=1.2.1.7
|
||||
TANLULIB_VERSION=1.2.1.8-SNAPSHOT
|
||||
|
||||
|
||||
# Boost分包
|
||||
|
||||
@@ -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() );
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = "绿波车速引导"
|
||||
carEventInfo.typeCode = "13"
|
||||
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 = "紧急制动预警"
|
||||
carEventInfo.typeCode = "06"
|
||||
carEventInfo.describe = "这个应该是随便写,反正也不用"
|
||||
dataCallback.showCarEventInfo(carEventInfo)
|
||||
}
|
||||
2->{
|
||||
// 行人碰撞预警
|
||||
carEventInfo.type = "行人碰撞预警"
|
||||
carEventInfo.typeCode = "39"
|
||||
carEventInfo.describe = "这个应该是随便写,反正也不用"
|
||||
dataCallback.showCarEventInfo(carEventInfo)
|
||||
}
|
||||
else->{
|
||||
// 其他,不处理
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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,8 +104,17 @@ class ObuManager: IMogoObuManager {
|
||||
* 车辆位置信息回调接口
|
||||
*/
|
||||
override fun showCarLocationInfo(info: CarLocationInfo?) {
|
||||
Logger.d(TAG, "thread: ${Thread.currentThread()} showCarLocationInfo: ${info?.carId}")
|
||||
dataChangedListener?.showCarLocationInfo(info)
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -107,7 +122,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 +132,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 +142,25 @@ 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)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @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