From beff14b6981e06bba4066dd168735606e5b26c34 Mon Sep 17 00:00:00 2001 From: Jeam_wang Date: Thu, 3 Apr 2025 21:22:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A6=E6=88=B7=E6=9C=8D=E5=8A=A1=E8=83=BD?= =?UTF-8?q?=E5=8A=9B=E7=9B=91=E5=90=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jeam_wang --- .../adapter/network/src/network_delegate_normal_impl.cpp | 2 +- services/distributeddataservice/app/BUILD.gn | 1 + .../app/src/kvstore_data_service.cpp | 8 ++++++-- .../framework/include/network/network_delegate.h | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/services/distributeddataservice/adapter/network/src/network_delegate_normal_impl.cpp b/services/distributeddataservice/adapter/network/src/network_delegate_normal_impl.cpp index 1edda0333..5f6d25db0 100644 --- a/services/distributeddataservice/adapter/network/src/network_delegate_normal_impl.cpp +++ b/services/distributeddataservice/adapter/network/src/network_delegate_normal_impl.cpp @@ -121,7 +121,7 @@ void NetworkDelegateNormalImpl::RegOnNetworkChange() void NetworkDelegateNormalImpl::BindExecutor(std::shared_ptr executors) { - executors_ = executors; + executors_ = std::move(executors); } ExecutorPool::Task NetworkDelegateNormalImpl::GetTask(uint32_t retry) diff --git a/services/distributeddataservice/app/BUILD.gn b/services/distributeddataservice/app/BUILD.gn index 084cbb75e..4c0087d06 100644 --- a/services/distributeddataservice/app/BUILD.gn +++ b/services/distributeddataservice/app/BUILD.gn @@ -125,6 +125,7 @@ ohos_shared_library("distributeddataservice") { configs = [ ":module_private_config" ] deps = [ + "${data_service_path}/adapter/network:distributeddata_network", "${data_service_path}/adapter/utils:distributeddata_utils", "${data_service_path}/app/src/checker:distributeddata_checker", "${data_service_path}/app/src/installer:distributeddata_installer", diff --git a/services/distributeddataservice/app/src/kvstore_data_service.cpp b/services/distributeddataservice/app/src/kvstore_data_service.cpp index 2c26686d8..b64886f8d 100755 --- a/services/distributeddataservice/app/src/kvstore_data_service.cpp +++ b/services/distributeddataservice/app/src/kvstore_data_service.cpp @@ -322,6 +322,7 @@ void KvStoreDataService::OnStart() AddSystemAbilityListener(COMMON_EVENT_SERVICE_ID); AddSystemAbilityListener(MEMORY_MANAGER_SA_ID); AddSystemAbilityListener(COMM_NET_CONN_MANAGER_SYS_ABILITY_ID); + AddSystemAbilityListener(SUBSYS_ACCOUNT_SYS_ABILITY_ID_BEGIN); RegisterStoreInfo(); Handler handlerStoreInfo = std::bind(&KvStoreDataService::DumpStoreInfo, this, std::placeholders::_1, std::placeholders::_2); @@ -356,9 +357,10 @@ void KvStoreDataService::OnAddSystemAbility(int32_t systemAbilityId, const std:: ZLOGI("add system abilityid:%{public}d", systemAbilityId); (void)deviceId; if (systemAbilityId == COMMON_EVENT_SERVICE_ID) { - AccountDelegate::GetInstance()->SubscribeAccountEvent(); Installer::GetInstance().Init(this, executors_); ScreenManager::GetInstance()->SubscribeScreenEvent(); + } else if (systemAbilityId == SUBSYS_ACCOUNT_SYS_ABILITY_ID_BEGIN) { + AccountDelegate::GetInstance()->SubscribeAccountEvent(); } else if (systemAbilityId == MEMORY_MANAGER_SA_ID) { Memory::MemMgrClient::GetInstance().NotifyProcessStatus(getpid(), 1, 1, DISTRIBUTED_KV_DATA_SERVICE_ABILITY_ID); @@ -372,10 +374,12 @@ void KvStoreDataService::OnRemoveSystemAbility(int32_t systemAbilityId, const st { ZLOGI("remove system abilityid:%{public}d", systemAbilityId); (void)deviceId; + if (systemAbilityId == SUBSYS_ACCOUNT_SYS_ABILITY_ID_BEGIN) { + AccountDelegate::GetInstance()->UnsubscribeAccountEvent(); + } if (systemAbilityId != COMMON_EVENT_SERVICE_ID) { return; } - AccountDelegate::GetInstance()->UnsubscribeAccountEvent(); ScreenManager::GetInstance()->UnsubscribeScreenEvent(); Installer::GetInstance().UnsubscribeEvent(); } diff --git a/services/distributeddataservice/framework/include/network/network_delegate.h b/services/distributeddataservice/framework/include/network/network_delegate.h index 505902a4f..38763f58d 100644 --- a/services/distributeddataservice/framework/include/network/network_delegate.h +++ b/services/distributeddataservice/framework/include/network/network_delegate.h @@ -20,7 +20,7 @@ #include #include "executor_pool.h" -#include "types.h" +#include "visibility.h" namespace OHOS { namespace DistributedData { -- Gitee