From ffa486cf8d8b770f115278c7d00d7986400cdd08 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Fri, 22 Nov 2024 19:32:06 +0800 Subject: [PATCH] =?UTF-8?q?[680][device]=E7=A1=AC=E4=BB=B6=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E6=9C=8D=E5=8A=A1=E4=BF=AE=E6=94=B9=E6=88=90=E4=BB=85?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E8=BF=9B=E8=A1=8C=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eagle/core/function/DataCenterProvider.kt | 13 ++++-- .../com/mogo/support/device/DevicesManager.kt | 41 +++++++++++-------- 2 files changed, 34 insertions(+), 20 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/DataCenterProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/DataCenterProvider.kt index ad14f068f1..70c4c444e4 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/DataCenterProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/DataCenterProvider.kt @@ -2,14 +2,16 @@ package com.mogo.eagle.core.function import android.content.Context import com.alibaba.android.arouter.facade.annotation.Route +import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.function.api.datacenter.IDataCenterProvider import com.mogo.eagle.core.function.call.datacenter.CallerDataCenterBizManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager +import com.mogo.eagle.core.function.datacenter.iot.IotManager import com.mogo.eagle.core.function.datacenter.location.MoGoLocationDispatcher import com.mogo.eagle.core.function.datacenter.v2x.SpeedLimitDispatcher import com.mogo.eagle.core.function.datacenter.v2x.TrafficLightDispatcher -import com.mogo.eagle.core.function.datacenter.iot.IotManager +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils @Route(path = MogoServicePaths.PATH_DATA_CENTER_MODULE) class DataCenterProvider : IDataCenterProvider { @@ -27,13 +29,18 @@ class DataCenterProvider : IDataCenterProvider { CallerMsgBoxManager.queryAllMessages(it) TrafficLightDispatcher.INSTANCE.initServer(it) SpeedLimitDispatcher.INSTANCE.initLimit(it) - IotManager.init() + if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { + IotManager.init() + } + } } override fun onDestroy() { TrafficLightDispatcher.INSTANCE.destroy() SpeedLimitDispatcher.INSTANCE.destroy() - IotManager.destroy() + if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { + IotManager.destroy() + } } } \ No newline at end of file diff --git a/libraries/mogo-hardware-devices/src/main/java/com/mogo/support/device/DevicesManager.kt b/libraries/mogo-hardware-devices/src/main/java/com/mogo/support/device/DevicesManager.kt index 08db724fdf..7a3d5ef890 100644 --- a/libraries/mogo-hardware-devices/src/main/java/com/mogo/support/device/DevicesManager.kt +++ b/libraries/mogo-hardware-devices/src/main/java/com/mogo/support/device/DevicesManager.kt @@ -49,8 +49,10 @@ object DevicesManager { } fun destroy() { - serialPortManager.close(DefaultDevices.VERIFICATION.path) - serialPortManager.close(DefaultDevices.SPEECH_CX830SE.path) + if (serviceBindState == SERVICE_STATE.BIND_SUCCEED) { + serialPortManager.close(DefaultDevices.VERIFICATION.path) + serialPortManager.close(DefaultDevices.SPEECH_CX830SE.path) + } serialPortManager.unbindService() } @@ -396,16 +398,18 @@ object DevicesManager { */ @Define.Code fun speechCx830seBroadcast(content: String?): Int { - val code = serialPortManager.speechCx830seBroadcastSpeech( - DefaultDevices.SPEECH_CX830SE, - content - ) - writeChainLogListener?.onWriteChainLog( - "车外语音设备", - "播报内容=${content ?: " 调用结果=${code}"}" - ) - return code - + if (serviceBindState == SERVICE_STATE.BIND_SUCCEED) { + val code = serialPortManager.speechCx830seBroadcastSpeech( + DefaultDevices.SPEECH_CX830SE, + content + ) + writeChainLogListener?.onWriteChainLog( + "车外语音设备", + "播报内容=${content ?: " 调用结果=${code}"}" + ) + return code + } + return -1 } /** @@ -413,12 +417,15 @@ object DevicesManager { * @param device [DefaultDevices.SPEECH_CX830SE] [DefaultDevices.VERIFICATION] [DefaultDevices.VERIFICATION_SK87R] [DefaultDevices.VERIFICATION_Q350] */ fun isDeviceOpen(device: Device): Boolean { - if (DefaultDevices.VERIFICATION.equals(device)) { - return serialPortManager.isOpen(DefaultDevices.VERIFICATION_SK87R.path) || serialPortManager.isOpen( - DefaultDevices.VERIFICATION_Q350.path - ) + if (serviceBindState == SERVICE_STATE.BIND_SUCCEED) { + if (DefaultDevices.VERIFICATION.equals(device)) { + return serialPortManager.isOpen(DefaultDevices.VERIFICATION_SK87R.path) || serialPortManager.isOpen( + DefaultDevices.VERIFICATION_Q350.path + ) + } + return serialPortManager.isOpen(device.path) } - return serialPortManager.isOpen(device.path) + return false } /**