diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaPassengerView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaPassengerView.kt index 11c7a8204a..91b4614747 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaPassengerView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaPassengerView.kt @@ -37,7 +37,9 @@ class RomaPassengerView @JvmOverloads constructor( a.recycle() setOnClickListener { romaMode = !romaMode - romaTrigger(romaMode) + romaTrigger(romaMode) { mode -> + romaMode = mode + } } } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/MapBizProvider.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/MapBizProvider.kt index 2a6040a828..1b65edfc52 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/MapBizProvider.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/MapBizProvider.kt @@ -26,8 +26,8 @@ class MapBizProvider :IMoGoFunctionServerProvider, IMogoRoma { aiCloudIdentifyDataManager.initServer(AbsMogoApplication.getApp()) } - override fun trigger(romaStatus: Boolean) { - aiCloudIdentifyDataManager.trigger(romaStatus) + override fun trigger(romaStatus: Boolean,connectError:((Boolean) -> Unit)?) { + aiCloudIdentifyDataManager.trigger(romaStatus,connectError) } override fun onDestroy() { diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/AiCloudIdentifyDataManager.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/AiCloudIdentifyDataManager.kt index da55db4654..e0494d7ebc 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/AiCloudIdentifyDataManager.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/AiCloudIdentifyDataManager.kt @@ -3,6 +3,7 @@ package com.mogo.eagle.core.function.business.ai import android.content.Context import com.mogo.aicloud.services.socket.IMogoOnMessageListener import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager +import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.deva.chain.ChainConstant import com.mogo.eagle.core.data.multidisplay.TelematicConstant @@ -87,8 +88,16 @@ class AiCloudIdentifyDataManager : IMogoMapListener, IReceivedMsgListener, } } - fun trigger(romaStatus: Boolean) { + fun trigger(romaStatus: Boolean,connectError: ((Boolean) -> Unit)?) { MapBizTrace.log(TAG, "trigger") + if (serverSn.isEmpty()) { + serverSn = CallerTelematicManager.getServerToken() + if (serverSn.isEmpty()) { + ToastUtils.showLong("未获取到司机屏设备信息") + connectError?.invoke(!romaStatus) + return + } + } // 乘客屏单独控制漫游 if (romaStatus) { // 开启roma,当前非漫游,开启 @@ -116,13 +125,6 @@ class AiCloudIdentifyDataManager : IMogoMapListener, IReceivedMsgListener, } private fun openRoma() { - if (serverSn.isEmpty()) { - serverSn = CallerTelematicManager.getServerToken() - if (serverSn.isEmpty()) { - ToastUtils.showLong("未获取到司机屏设备信息") - return - } - } if (!MogoMapUIController.getInstance().currentMapVisualAngle.isRoma) { requestRangeOfIdentify(true) updateLongSightLevel(true) @@ -130,13 +132,6 @@ class AiCloudIdentifyDataManager : IMogoMapListener, IReceivedMsgListener, } private fun closeRoma(manual: Boolean = true) { - if (serverSn.isEmpty()) { - serverSn = CallerTelematicManager.getServerToken() - if (serverSn.isEmpty()) { - ToastUtils.showLong("未获取到司机屏设备信息") - return - } - } if (!showAiCloud.get()) { return } @@ -179,6 +174,9 @@ class AiCloudIdentifyDataManager : IMogoMapListener, IReceivedMsgListener, TAG, "requestIdentifyRange error : $it , startRange:$START_METRE, endRange:$END_METRE, dataReceive:$dataReceive" ) + if(DebugConfig.isDebug()){ + ToastUtils.showShort("漫游请求异常,msg:$it") + } }) } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/roma/IMogoRoma.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/roma/IMogoRoma.kt index 5d402c9656..21045a1a86 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/roma/IMogoRoma.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/roma/IMogoRoma.kt @@ -8,6 +8,6 @@ interface IMogoRoma : IProvider { * 触发开启/关闭漫游 * @param romaStatus 漫游状态 */ - fun trigger(romaStatus:Boolean) + fun trigger(romaStatus:Boolean,connectError:((Boolean) -> Unit)? = null) } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapIdentifyManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapIdentifyManager.kt index 7762e32361..9db7b55839 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapIdentifyManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapIdentifyManager.kt @@ -10,8 +10,8 @@ object CallerMapIdentifyManager { get() = ARouter.getInstance().build( MogoServicePaths.PATH_MAP_BIZ) .navigation() as IMogoRoma - fun romaTrigger(romaStatus:Boolean){ - romaApi.trigger(romaStatus) + fun romaTrigger(romaStatus:Boolean, connectError:((Boolean) -> Unit)? = null){ + romaApi.trigger(romaStatus, connectError) } } \ No newline at end of file