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 8308db68b2..3516b72236 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 @@ -370,8 +370,8 @@ class MoGoAutopilotControlProvider : nodeAliasCode = AdasChain.CHAIN_CODE_ADAS_START_AUTOPILOT, paramIndexes = [0] ) - override fun startAutoPilot(controlParameters: AutopilotControlParameters) { - startAutoPilot(controlParameters, Constants.AUTOPILOT_SOURCE.PAD) + override fun startAutoPilot(controlParameters: AutopilotControlParameters): Long { + return startAutoPilot(controlParameters, Constants.AUTOPILOT_SOURCE.PAD) } //todo emArrow chainlog @@ -403,18 +403,21 @@ class MoGoAutopilotControlProvider : } } - private fun startAutoPilot(controlParameters: AutopilotControlParameters, source: Int) { + private fun startAutoPilot(controlParameters: AutopilotControlParameters, source: Int): Long { if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { val invokeResult = AdasManager.getInstance() .sendAutoPilotModeReq(1, source, controlParameters.toRouteInfo()) invokeAutoPilotResult(if (invokeResult > -1) "自动驾驶调用成功:${invokeResult}" else "自动驾驶调用失败, socket 或者 rawPack 可能为空") + return invokeResult } else { if (AdasManager.getInstance().ipcConnectionStatus == AdasConstants.IpcConnectionStatus.CONNECTED) { val invokeResult = AdasManager.getInstance() .sendAutoPilotModeReq(1, source, controlParameters.toRouteInfo()) invokeAutoPilotResult(if (invokeResult > -1) "自动驾驶调用成功:${invokeResult}" else "自动驾驶调用失败, socket 或者 rawPack 可能为空") + return invokeResult } else { invokeAutoPilotResult("车机与工控机链接失败,无法开启自动驾驶") + return -1L } } } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt index 5eb3f9e5e6..6370402b6c 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt @@ -41,7 +41,7 @@ interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider { * * @param controlParameters 开启自动驾驶的控制参数 */ - fun startAutoPilot(controlParameters: AutopilotControlParameters) + fun startAutoPilot(controlParameters: AutopilotControlParameters): Long /** * 开启自动驾驶(魔方) diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt index 2577de8509..3b3d8bbb46 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt @@ -75,14 +75,15 @@ object CallerAutoPilotControlManager { * * @param controlParameters 开启自动驾驶的控制参数 */ - fun startAutoPilot(controlParameters: AutopilotControlParameters?) { + fun startAutoPilot(controlParameters: AutopilotControlParameters?): Long { if (controlParameters == null) { //LogUtils.eTag(TAG, "自动驾驶控制参数异常,请检查参数信息") - return + return -1L } - providerApi?.startAutoPilot(controlParameters) + val sessionId = providerApi?.startAutoPilot(controlParameters) ?: -1L // 更新记录在全局的控制参数 CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(controlParameters) + return sessionId } /**