From 52daec677582b8e66a8e41bb54748058e3c25164 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Wed, 13 Mar 2024 18:30:44 +0800 Subject: [PATCH] [6.3.0] fix cert null bug and add func of request cert file --- .../hmi/ui/setting/DebugSettingView.kt | 30 +++++++++++++++++-- .../stageone/secret/CertFileManager.kt | 4 +-- .../eagle/core/data/constants/MoGoConfig.kt | 2 -- .../core/data/deva/chain/ChainConstant.kt | 1 + .../call/cloud/CallerCloudCertManager.kt | 8 +++++ 5 files changed, 38 insertions(+), 7 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index 8309c7f478..752bfc730c 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -83,6 +83,9 @@ import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.mogo.permissions.BackgrounderPermission import com.mogo.commons.storage.SharedPrefsMgr +import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener +import com.mogo.eagle.core.function.call.cloud.CallerCloudCertManager +import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager import com.mogo.eagle.core.utilcode.mogo.toast.TipToast import com.mogo.eagle.core.utilcode.util.* import com.mogo.map.MogoData.Companion.mogoMapData @@ -131,7 +134,7 @@ internal class DebugSettingView @JvmOverloads constructor( IMoGoChassisThrottleStateListener, IMoGoSweeperFutianCleanSystemListener, IMoGoObuInfoListener, - ISopSettingListener, IViewControlListener { + ISopSettingListener, IViewControlListener, IMoGoCloudListener { private val TAG = "DebugSettingView" @@ -219,6 +222,8 @@ internal class DebugSettingView @JvmOverloads constructor( override fun onAttachedToWindow() { super.onAttachedToWindow() + // 添加证书 监听 + CallerCloudListenerManager.addListener(TAG, this) // 添加 OBU状态 监听 CallerObuConnectListenerManager.addListener(TAG, this) // 添加 ADAS状态 监听 @@ -264,6 +269,8 @@ internal class DebugSettingView @JvmOverloads constructor( override fun onDetachedFromWindow() { super.onDetachedFromWindow() + // 移除 证书 监听 + CallerCloudListenerManager.removeListener(TAG) // 移除 OBU状态 监听 CallerObuConnectListenerManager.removeListener(TAG) // 移除 ADAS状态 监听 @@ -292,6 +299,7 @@ internal class DebugSettingView @JvmOverloads constructor( //雨天、美化、点云设置同步 CallerSopSettingManager.removeListener(TAG) + // 移除 业务配置监听 CallerDevaToolsFuncConfigListenerManager.unRegisterDevaToolsFuncConfigListener( FuncBizConfig.FOUNDATION, @@ -1261,12 +1269,28 @@ internal class DebugSettingView @JvmOverloads constructor( } } //是否启用证书认证 - cbSsl.isChecked = SharedPrefsMgr.getInstance().getBoolean(MoGoConfig.AUTOPILOT_CERTIFICATION,false) + cbSsl.isChecked = !CallerCloudCertManager.getRootCrtF().isNullOrEmpty() cbSsl.setOnCheckedChangeListener { _, isChecked -> - SharedPrefsMgr.getInstance().putBoolean(MoGoConfig.AUTOPILOT_CERTIFICATION,isChecked) + if(isChecked){ + if(!CallerCloudCertManager.getRootCrtF().isNullOrEmpty()){ + cbSsl.isChecked = true + }else{ + CallerCloudCertManager.certFileDownLoad{ errorMsg -> + ToastUtils.showShort(errorMsg) + cbSsl.isChecked = false + } + } + }else{ + cbSsl.isChecked = false + } } } + override fun authCrtFile(device: String, root: String) { + super.authCrtFile(device, root) + cbSsl.isChecked = true + } + /** * 设置Hmi点击监听 */ diff --git a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/secret/CertFileManager.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/secret/CertFileManager.kt index 37ea05c4a3..ea2e692674 100644 --- a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/secret/CertFileManager.kt +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/secret/CertFileManager.kt @@ -105,10 +105,10 @@ class CertFileManager : IMoGoCertProvider { } override fun getDeviceCrtF(): String? { - return deviceCrtFile?:SharedPrefsMgr.getInstance().getString(securityKeyTAG, "") + return deviceCrtFile?:SharedPrefsMgr.getInstance().getString(securityKeyTAG, null) } override fun getRootCrtF(): String? { - return rootCrtFile?:SharedPrefsMgr.getInstance().getString(securityRootTAG, "") + return rootCrtFile?:SharedPrefsMgr.getInstance().getString(securityRootTAG, null) } } \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MoGoConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MoGoConfig.kt index 5d877bf2a2..9ab0e0bd07 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MoGoConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MoGoConfig.kt @@ -11,8 +11,6 @@ object MoGoConfig { // 域控制器 IP地址 const val AUTOPILOT_IP = "AUTOPILOT_IP" - //调试窗控制连接域控时是否启用认证存储key - const val AUTOPILOT_CERTIFICATION = "AUTOPILOT_CERTIFICATION" // CMD全量日志抓取 const val CATCH_LOG = "CATCH_LOG" diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt index a2f786d349..2a369559e0 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt @@ -108,6 +108,7 @@ class ChainConstant { const val CHAIN_CODE_HD_MAP_ROAD_CROSS = "CHAIN_CODE_HD_MAP_ROAD_CROSS" const val CHAIN_CODE_HD_MAP_ICON_SET = "CHAIN_CODE_HD_MAP_ICON_SET" const val CHAIN_CODE_HMI_ACTIONS = "CHAIN_CODE_HMI_ACTIONS" + const val CHAIN_CODE_CERT_REQUEST = "CHAIN_CODE_CERT_REQUEST" //operation by user const val CHAIN_CODE_OCH_TAXI_START_AUTOPILOT = "CHAIN_CODE_OCH_TAXI_START_AUTOPILOT" diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/cloud/CallerCloudCertManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/cloud/CallerCloudCertManager.kt index 10b0c25e07..0961d2c082 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/cloud/CallerCloudCertManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/cloud/CallerCloudCertManager.kt @@ -1,8 +1,10 @@ package com.mogo.eagle.core.function.call.cloud import com.mogo.eagle.core.data.constants.MogoServicePaths +import com.mogo.eagle.core.data.deva.chain.ChainConstant import com.mogo.eagle.core.function.api.cloud.IMoGoCertProvider import com.mogo.eagle.core.function.call.base.CallerBase +import com.zhjt.service.chain.ChainLog object CallerCloudCertManager { @@ -12,6 +14,12 @@ object CallerCloudCertManager { MogoServicePaths.PATH_CERT_DOWN_LOAD_PROVIDER ) + @ChainLog( + linkChainLog = ChainConstant.CHAIN_TYPE_STATUS, + linkCode = ChainConstant.CHAIN_SOURCE_HMI, + nodeAliasCode = ChainConstant.CHAIN_CODE_CERT_REQUEST, + paramIndexes = [-1] + ) fun certFileDownLoad(onError: ((String) -> Unit)? = null) { certProviderApi.certificateDownLoad(onError) }