From 317062c29e587dd728b58afaee37de0254026f83 Mon Sep 17 00:00:00 2001 From: zengqiang007 Date: Fri, 27 Oct 2023 21:31:31 +0800 Subject: [PATCH] Subscribe edm policy change event and reload edm policy Signed-off-by: zengqiang007 Change-Id: If45c3c134ae8eda0c1f30de612a663cc781dd986 --- .../policy/core/common/policy_loader_ohos.cc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/components/policy/core/common/policy_loader_ohos.cc b/components/policy/core/common/policy_loader_ohos.cc index 6148fd169a..92e0fcf27d 100644 --- a/components/policy/core/common/policy_loader_ohos.cc +++ b/components/policy/core/common/policy_loader_ohos.cc @@ -20,10 +20,20 @@ PolicyLoaderOhos::PolicyLoaderOhos( scoped_refptr task_runner) : AsyncPolicyLoader(task_runner, /*periodic_updates*/ false) {} -PolicyLoaderOhos::~PolicyLoaderOhos() {} +PolicyLoaderOhos::~PolicyLoaderOhos() { + std::ignore = OHOS::NWeb::OhosAdapterHelper::GetInstance() + .GetEnterpriseDeviceManagementInstance().StopObservePolicyChange(); +} void PolicyLoaderOhos::InitOnBackgroundThread() { - // 目前未对鸿蒙policy进行后台扫描监控,暂时为空实现 + OHOS::NWeb::OhosAdapterHelper::GetInstance() + .GetEnterpriseDeviceManagementInstance() + .RegistPolicyChangeEventCallback([this]() { + LOG(INFO) << "Recv edm policy change event and reload policy."; + Reload(true); + }); + std::ignore = OHOS::NWeb::OhosAdapterHelper::GetInstance() + .GetEnterpriseDeviceManagementInstance().StartObservePolicyChange(); } std::unique_ptr PolicyLoaderOhos::Load() { -- Gitee