From 1babe6219740faf999d01a42e006f327e27960b2 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 31 Aug 2023 11:28:29 +0800 Subject: [PATCH 1/5] =?UTF-8?q?[6.0.0]=20=E5=88=B0=E8=BE=BE=E5=87=BA?= =?UTF-8?q?=E8=BD=A6=E7=82=B9=E8=AF=AD=E9=9F=B3=E6=92=AD=E6=8A=A5,=20?= =?UTF-8?q?=E6=8B=BF=E5=88=B0=E6=96=B0=E8=AE=A2=E5=8D=95=E8=AF=AD=E9=9F=B3?= =?UTF-8?q?=E6=92=AD=E6=8A=A5,=20=E5=8F=96=E6=B6=88=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E8=AF=AD=E9=9F=B3=E6=92=AD=E6=8A=A5=E6=96=87=E6=A1=88=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt | 5 ++++- .../mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt | 2 +- .../java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt | 10 ++++++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt index 5cbdab749e..93316da5b7 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt @@ -24,6 +24,7 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.common.module.map.AmapNaviToDestinationModel import com.mogo.och.common.module.map.ICommonNaviChangedCallback +import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.common.module.wigets.OCHCommitDialog import com.mogo.och.taxi.R import com.mogo.och.taxi.bean.OrderDetail @@ -325,6 +326,7 @@ class TaxiCurrentTaskFragment : BaseFragment(), TaskTypeEnum.VirtualTask.code -> {// 演练任务 if (order != null && currentStatus == TaskStatusEnum.CompleteTask.code) { updateOrderUI(order) + VoiceNotice.showNotice("已为您接到订单") return } if (startSite == null || endSite == null) return @@ -344,8 +346,9 @@ class TaxiCurrentTaskFragment : BaseFragment(), } TaskTypeEnum.None.code -> { - if (order != null) { + if (order != null && currentStatus == TaskStatusEnum.CompleteTask.code) { updateOrderUI(order) + VoiceNotice.showNotice("已为您接到订单") } } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt index 51cee6c1a1..330f6b2b68 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt @@ -208,7 +208,7 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), } override fun onOrderCancel() { - VoiceNotice.showNotice("订单已经取消") + VoiceNotice.showNotice("已取消行程") // updateTaskAndOrderUi(null) } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt index 7b85c8023e..6d697f7a89 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt @@ -53,6 +53,7 @@ import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceM import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager.setStationPoint import com.mogo.och.common.module.map.AmapNaviToDestinationModel import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil.coordinateConverterWgsToGcjLocations +import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.taxi.bean.PrepareTaskRespBean import com.mogo.och.taxi.bean.QueryCarOrderByNoRespBean import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean @@ -523,7 +524,7 @@ object TaxiTaskModel { "judgeDriveToNearestStationTaskStation() ${virtualTask.siteName} distance = $distance" ) if (distance <= TaxiUnmannedConst.ARRIVE_AT_START_STATION_DISTANCE) { // 15米内到站 - submitArriveSite(virtualTask.siteId, true) + submitArriveSite(virtualTask.siteId, true, isArrivedNearestStation = true) } } @@ -560,7 +561,8 @@ object TaxiTaskModel { * @siteId : 站点id * @isArriveAtEndSite: true 终点, false 起点 */ - fun submitArriveSite(siteId: Long, isArriveAtEndSite: Boolean) { + fun submitArriveSite(siteId: Long, isArriveAtEndSite: Boolean, + isArrivedNearestStation : Boolean = false) { i(TAG, message = "submitArriveSite: siteId=$siteId isArriveAtEndSite=$isArriveAtEndSite") TaxiTaskWithOrderServiceManager.arriveSite( mContext, @@ -570,6 +572,10 @@ object TaxiTaskModel { if (data == null || data.code != 0) return d(TAG, "submitArriveSite-onSuccess data=" + GsonUtil.jsonFromObject(data)) mDriveToNearestStationTask = null + if (isArrivedNearestStation){// 播报提醒 + VoiceNotice.showNotice("已到达出车点") + } + if (isArriveAtEndSite) { updateLocalCalculateStation() //到站后不再调用取消自驾. 原因是取消自驾,D档位会溜车 From 016256c15c3ea33bbca7dce90d605edb1f9911ff Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 31 Aug 2023 14:07:06 +0800 Subject: [PATCH 2/5] =?UTF-8?q?[6.0.0][bugfix]=20=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=9B=9E=E8=B0=83=E4=B8=8D=E4=B8=80=E8=87=B4?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/MoGoAdasMsgConnectStatusListenerImpl.kt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt index ceff1aad76..d788e040e9 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt @@ -43,10 +43,6 @@ class MoGoAdasMsgConnectStatusListenerImpl : override fun onConnectionIPCStatus(ipcConnectionStatus: Int, reason: String?) { CallerAutopilotActionsListenerManager.setConnected(ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.CONNECTED) - CallerAutoPilotStatusListenerManager.invokeAutoPilotIPCStatusChanged( - ipcConnectionStatus, - reason - ) AppConfigInfo.connectStatusDescribe = reason when (ipcConnectionStatus) { Constants.IPC_CONNECTION_STATUS.CONNECTED -> { @@ -103,6 +99,7 @@ class MoGoAdasMsgConnectStatusListenerImpl : CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().ipcConnStatus = ipcConnectionStatus CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().connectStatusDescribe = reason CallerAutoPilotStatusListenerManager.invokeAutoPilotStatus() + CallerAutoPilotStatusListenerManager.invokeAutoPilotIPCStatusChanged(ipcConnectionStatus, reason) } override fun onCompatibility(versionCompatibility: VersionCompatibility?) { From 8626e68a424e8944b38f72c60e8c36fd03e28d2f Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 31 Aug 2023 15:08:57 +0800 Subject: [PATCH 3/5] =?UTF-8?q?[6.0.0]=20=E5=A2=9E=E5=8A=A0=E5=87=BA?= =?UTF-8?q?=E8=BD=A6=E7=82=B9=E5=9C=B0=E5=9B=BEmarker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/taxi/bean/TaxiDriverCarServiceBean.kt | 3 ++- .../com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/bean/TaxiDriverCarServiceBean.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/bean/TaxiDriverCarServiceBean.kt index be0509fefd..3f705b6cc8 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/bean/TaxiDriverCarServiceBean.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/bean/TaxiDriverCarServiceBean.kt @@ -20,5 +20,6 @@ data class UnmannedLogoutReqBean(var sn: String, var loc: GcjLatLon?) data class StartServiceReqBean(var sn: String, var gcjLat: Double, var gcjLon: Double) data class StartServiceRespBean(var data: Result?): BaseData(){ - data class Result(var siteId: Long,var siteName: String,var gcjLat: Double, var gcjLon: Double) + data class Result(var siteId: Long,var siteName: String,var gcjLat: Double, var gcjLon: Double, + var wgs84Lon: Double, var wgs84Lat: Double ) } \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt index 93316da5b7..79fa8bc52f 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt @@ -208,6 +208,14 @@ class TaxiCurrentTaskFragment : BaseFragment(), endStationName.text = driveToNearestStationTask.siteName updateStartAndEndStationPointByStatus(true) + setOrRemoveMapMaker( + true, + TAXI_END_MAP_MAKER, + driveToNearestStationTask.wgs84Lat, + driveToNearestStationTask.wgs84Lon, + R.raw.end_marker + ) + // 使用高德获取导航数据 startNaviToStation( false, From bace7162a4c6262e7c2a38fb2649109bdabd98d0 Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 31 Aug 2023 15:24:03 +0800 Subject: [PATCH 4/5] =?UTF-8?q?[6.0.0][=E5=85=A8=E9=87=8F=E6=97=A5?= =?UTF-8?q?=E5=BF=97]=20=E4=BC=98=E5=8C=96io=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.gradle b/config.gradle index 605fd0bba3..407002414d 100644 --- a/config.gradle +++ b/config.gradle @@ -215,7 +215,7 @@ ext { btrace : "com.bytedance.btrace:rhea-core:2.0.0", mofang_runtime : "com.mogo.eagle.core.mofang:runtime:2.0.6", - log_runtime : "com.mogo.eagle.core.log.record:runtime:1.0.12", + log_runtime : "com.mogo.eagle.core.log.record:runtime:1.0.15", // 安全证书 passport_secret : "com.zhidaoauto:sdk-java:1.0.5-SNAPSHOT", From d8f2b30fdd914c3b996739a9d2e65e612e30729d Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Thu, 31 Aug 2023 16:15:15 +0800 Subject: [PATCH 5/5] =?UTF-8?q?[6.0.0][Fix]=E8=A7=A3=E5=86=B3=E5=81=B6?= =?UTF-8?q?=E7=8E=B0=E7=9A=84=E5=B4=A9=E6=BA=83=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../autopilot/MoGoAutopilotControlProvider.kt | 236 +++++++++--------- 1 file changed, 122 insertions(+), 114 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt index cc0a7dabf4..c7e3d6b130 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt @@ -7,6 +7,7 @@ import bag_manager.BagManagerOuterClass import chassis.SpecialVehicleTaskCmdOuterClass import com.alibaba.android.arouter.facade.annotation.Route import com.mogo.cloud.passport.MoGoAiCloudClientConfig +import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters import com.mogo.eagle.core.data.autopilot.toAutoPilotLine import com.mogo.eagle.core.data.autopilot.toRouteInfo @@ -96,14 +97,15 @@ class MoGoAutopilotControlProvider : override fun init(context: Context) { CallerLogger.i("$M_D_C$TAG", "初始化工控机连接……") mContext = context - // 初始化ADAS 域控制器 - CupidLogUtils.setEnableLog(false) - msgHandler = TeleMsgHandler() - if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {// 司机 - // 注册地图采集功能 - CallerMapDataCollectorManager.registerOnMapCollectTaskListener(this) + runCatching { + // 初始化ADAS 域控制器 + CupidLogUtils.setEnableLog(false) + msgHandler = TeleMsgHandler() + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {// 司机 + // 注册地图采集功能 + CallerMapDataCollectorManager.registerOnMapCollectTaskListener(this) - // 配置默认关闭的连接topic + // 配置默认关闭的连接topic // val messageTypes: MutableSet = HashSet() // messageTypes.add(MessageType.TYPE_RECEIVE_POINT_CLOUD) // val subscribeInterfaceOptions = SubscribeInterfaceOptions.newBuilder() @@ -111,125 +113,131 @@ class MoGoAutopilotControlProvider : // .setType(Constants.SUBSCRIBE_TYPE.UNSUBSCRIBE) // .setMessageTypes(messageTypes).build() - // "192.168.1.102" - val options = AdasOptions.Builder() - .setIpcConnectionMode(AdasOptions.IPC_CONNECTION_MODE.FIXATION) - .setIpcFixationIP(AdasManager.getInstance().getIPCFixationIPList(mContext)) - .setClient(false) - .setUnableLaunchAutopilotGear(FunctionBuildConfig.unableLaunchAutopilotGear) + // "192.168.1.102" + val options = AdasOptions.Builder() + .setIpcConnectionMode(AdasOptions.IPC_CONNECTION_MODE.FIXATION) + .setIpcFixationIP(AdasManager.getInstance().getIPCFixationIPList(mContext)) + .setClient(false) + .setUnableLaunchAutopilotGear(FunctionBuildConfig.unableLaunchAutopilotGear) // .setSubscribeInterfaceOptions(subscribeInterfaceOptions)// - .build() + .build() - AdasManager.getInstance().create(options, MoGoAdasMsgConnectStatusListenerImpl()) - //////////////////////////////////注意先后顺序,AdasManager.getInstance().create后才可以设置监听///////////////////////////////////////////// - // 监听ADAS-SDK获取到的工控机数据 - AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl()) - NSDNettyManager.getInstance().startNSDNettyServerWithSN(context, object : - NettyServerListener { - override fun onMessageResponseServer(msg: MogoProtocolMsg?, channel: Channel?) { - msgHandler.handleMsgFromClient(msg, channel) - } - - override fun onStartServer() { - ToastUtils.showShort("司机端服务启动成功!") - if (timer == null) { - timer = Timer() + AdasManager.getInstance().create(options, MoGoAdasMsgConnectStatusListenerImpl()) + //////////////////////////////////注意先后顺序,AdasManager.getInstance().create后才可以设置监听///////////////////////////////////////////// + // 监听ADAS-SDK获取到的工控机数据 + AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl()) + NSDNettyManager.getInstance().startNSDNettyServerWithSN(context, object : + NettyServerListener { + override fun onMessageResponseServer(msg: MogoProtocolMsg?, channel: Channel?) { + msgHandler.handleMsgFromClient(msg, channel) } - // 10s同步一次数据到乘客屏 - timer!!.schedule(object : TimerTask() { - override fun run() { - // 同步是否开启美化模式 - setDemoMode(FunctionBuildConfig.isDemoMode) - setIgnoreConditionDraw(FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData) - msgHandler.synMsgToAllClients() + + override fun onStartServer() { + ToastUtils.showShort("司机端服务启动成功!") + if (timer == null) { + timer = Timer() } - }, 1000, 10000) - invokeNettyConnResult("司机端服务启动成功!") - CallerTelematicStatusListenerManager.invokeServerStatusChanged(true) - } - - override fun onStopServer() { - ToastUtils.showLong("司机端服务停止!") - timer?.cancel() - timer = null - invokeNettyConnResult("司机端服务停止!") - CallerTelematicStatusListenerManager.invokeServerStatusChanged(false) - } - - override fun onChannelConnect(channel: Channel?) { - msgHandler.handleClientConn2Server(channel) - } - - override fun onChannelDisConnect(channel: Channel?) { - CallerLogger.d("$M_D_C$TAG", "onChannelDisConnect") - } - - override fun onReceiveClientSign(channel: Channel?, sn: String?) { - sn?.let { - invokeNettyConnResult("连接成功的乘客屏sn为:$it") + // 10s同步一次数据到乘客屏 + timer!!.schedule(object : TimerTask() { + override fun run() { + // 同步是否开启美化模式 + setDemoMode(FunctionBuildConfig.isDemoMode) + setIgnoreConditionDraw(FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData) + msgHandler.synMsgToAllClients() + } + }, 1000, 10000) + invokeNettyConnResult("司机端服务启动成功!") + CallerTelematicStatusListenerManager.invokeServerStatusChanged(true) } - } - }, MoGoAiCloudClientConfig.getInstance().sn) - } else { - NSDNettyManager.getInstance() - .searchAndConnectServer(context, MoGoAiCloudClientConfig.getInstance().sn, - AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode), - object : NettyClientListener { - override fun onMessageResponseClient( - msg: MogoProtocolMsg?, - sign: String?, - channel: Channel - ) { - // 乘客端收到adas数据直接解析,后续分发解析后的数据流程同司机端 - msgHandler.handleMsgFromServer(msg, channel) - } - override fun onClientStatusConnectChanged( - statusCode: Int, - sign: String?, - channel: Channel - ) { - msgHandler.handleClientConnStatus(statusCode, sign, channel) - } - }) - } - msgHandler.setListener(object : EventListener { - override fun connectDevice(isSupportMulti: Boolean) { - if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { - if (!isInit) { - isInit = true - // 转发工控机数据给乘客屏 - listenDeviceData() + override fun onStopServer() { + ToastUtils.showLong("司机端服务停止!") + timer?.cancel() + timer = null + invokeNettyConnResult("司机端服务停止!") + CallerTelematicStatusListenerManager.invokeServerStatusChanged(false) } - } else { - if (!isInit) { - isInit = true - UiThreadHandler.post { - if (isSupportMulti) { - // 直连工控机 - directConnect() - } else { - val options = AdasOptions - .Builder() - .setClient(true) - .setUnableLaunchAutopilotGear(FunctionBuildConfig.unableLaunchAutopilotGear) - .build() - AdasManager.getInstance() - .create(options, MoGoAdasMsgConnectStatusListenerImpl()) - // 监听ADAS-SDK获取到的工控机数据 - AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl()) - // 接收司机屏发过来的感知、定位等数据 - listenDeviceData() + + override fun onChannelConnect(channel: Channel?) { + msgHandler.handleClientConn2Server(channel) + } + + override fun onChannelDisConnect(channel: Channel?) { + CallerLogger.d("$M_D_C$TAG", "onChannelDisConnect") + } + + override fun onReceiveClientSign(channel: Channel?, sn: String?) { + sn?.let { + invokeNettyConnResult("连接成功的乘客屏sn为:$it") + } + } + }, MoGoAiCloudClientConfig.getInstance().sn) + } else { + NSDNettyManager.getInstance() + .searchAndConnectServer(context, MoGoAiCloudClientConfig.getInstance().sn, + AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode), + object : NettyClientListener { + override fun onMessageResponseClient( + msg: MogoProtocolMsg?, + sign: String?, + channel: Channel + ) { + // 乘客端收到adas数据直接解析,后续分发解析后的数据流程同司机端 + msgHandler.handleMsgFromServer(msg, channel) + } + + override fun onClientStatusConnectChanged( + statusCode: Int, + sign: String?, + channel: Channel + ) { + msgHandler.handleClientConnStatus(statusCode, sign, channel) + } + }) + } + msgHandler.setListener(object : EventListener { + override fun connectDevice(isSupportMulti: Boolean) { + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + if (!isInit) { + isInit = true + // 转发工控机数据给乘客屏 + listenDeviceData() + } + } else { + if (!isInit) { + isInit = true + UiThreadHandler.post { + if (isSupportMulti) { + // 直连工控机 + directConnect() + } else { + val options = AdasOptions + .Builder() + .setClient(true) + .setUnableLaunchAutopilotGear(FunctionBuildConfig.unableLaunchAutopilotGear) + .build() + AdasManager.getInstance() + .create(options, MoGoAdasMsgConnectStatusListenerImpl()) + // 监听ADAS-SDK获取到的工控机数据 + AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl()) + // 接收司机屏发过来的感知、定位等数据 + listenDeviceData() + } } } } } + }) + CallerAutopilotCarConfigListenerManager.addListener(TAG, this) + CallerLogger.i("$M_D_C$TAG", "initServer……") + // 同步数据给工控机的服务 + AsyncDataToAutopilotServer.INSTANCE.initServer() + }.onFailure { throwable -> + if (DebugConfig.isDebug()) { + ToastUtils.showLong("AutoPilot出现异常,请立即处理!") } - }) - CallerAutopilotCarConfigListenerManager.addListener(TAG, this) - CallerLogger.i("$M_D_C$TAG", "initServer……") - // 同步数据给工控机的服务 - AsyncDataToAutopilotServer.INSTANCE.initServer() + throwable.printStackTrace() + } } private fun directConnect() {