From ae15358b76b9c331a42b596a9bbb2f51f95ff1f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=B5=A9?= Date: Fri, 12 Sep 2025 09:27:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8D=A1=E7=89=87=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E9=94=81=E7=8A=B6=E6=80=81=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈浩 --- services/src/data_center/form_data_mgr.cpp | 2 +- services/src/form_mgr/form_mgr_adapter.cpp | 9 ++++++--- .../fms_form_mgr_adapter_test3.cpp | 13 +++++++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/services/src/data_center/form_data_mgr.cpp b/services/src/data_center/form_data_mgr.cpp index 5f707a7231..34685e48ed 100644 --- a/services/src/data_center/form_data_mgr.cpp +++ b/services/src/data_center/form_data_mgr.cpp @@ -220,7 +220,7 @@ static void initFormRecord(FormRecord &newRecord, const FormItemInfo &formInfo) newRecord.isThemeForm = formInfo.GetIsThemeForm(); newRecord.enableForm = formInfo.IsEnableForm(); newRecord.lockForm = formInfo.IsLockForm(); - newRecord.protectForm = formInfo.IsLockForm(); + newRecord.protectForm = formInfo.IsProtectForm(); } /** diff --git a/services/src/form_mgr/form_mgr_adapter.cpp b/services/src/form_mgr/form_mgr_adapter.cpp index e05af83a7a..7072dc8b3e 100644 --- a/services/src/form_mgr/form_mgr_adapter.cpp +++ b/services/src/form_mgr/form_mgr_adapter.cpp @@ -1523,9 +1523,9 @@ void FormMgrAdapter::SetFormEnableAndLockState(FormInfo &formInfo, FormItemInfo void FormMgrAdapter::SetLockFormStateOfFormItemInfo(FormInfo &formInfo, FormItemInfo &formConfigInfo) { auto formId = formConfigInfo.GetFormId(); - // exempt form are never unlocked if (formId > 0 && FormExemptLockMgr::GetInstance().IsExemptLock(formId)) { - formConfigInfo.SetLockForm(false); + // exempt form must belong to a locked application + formConfigInfo.SetLockForm(true); return; } @@ -1538,10 +1538,12 @@ void FormMgrAdapter::SetLockFormStateOfFormItemInfo(FormInfo &formInfo, FormItem FormDbCache::GetInstance().UpdateDBRecord(formId, record); } formConfigInfo.SetLockForm(isBundleProtect); + formConfigInfo.SetProtectForm(isBundleProtect); } else { bool isMultiAppForm = FormInfoMgr::GetInstance().IsMultiAppForm(formInfo) && formConfigInfo.GetSystemAppFlag(); formConfigInfo.SetLockForm(isBundleProtect && !isMultiAppForm); + formConfigInfo.SetProtectForm(isBundleProtect && !isMultiAppForm); } } @@ -4123,7 +4125,8 @@ ErrCode FormMgrAdapter::SwitchLockForms(const std::string &bundleName, int32_t u HILOG_INFO("userId:%{public}d, infosSize:%{public}zu, lock:%{public}d", userId, formInfos.size(), lock); for (auto iter = formInfos.begin(); iter != formInfos.end();) { - HILOG_DEBUG("bundleName:%{public}s, lockForm:%{public}d", iter->bundleName.c_str(), iter->lockForm); + HILOG_INFO("bundleName:%{public}s, lockForm:%{public}d, formId:%{public}" PRId64, + iter->bundleName.c_str(), iter->lockForm, iter->formId); bool isSystemApp = iter->isSystemApp; FormInfo formInfo; FormInfoMgr::GetInstance().GetFormsInfoByRecord(*iter, formInfo); diff --git a/test/unittest/fms_form_mgr_adapter_test/fms_form_mgr_adapter_test3.cpp b/test/unittest/fms_form_mgr_adapter_test/fms_form_mgr_adapter_test3.cpp index 0f1e3fbff0..366aaff2fb 100644 --- a/test/unittest/fms_form_mgr_adapter_test/fms_form_mgr_adapter_test3.cpp +++ b/test/unittest/fms_form_mgr_adapter_test/fms_form_mgr_adapter_test3.cpp @@ -1310,4 +1310,17 @@ HWTEST_F(FmsFormMgrAdapterTest3, FormMgrAdapter_CheckUpdateFormRecord, TestSize. EXPECT_EQ(RecycleStatus::NON_RECYCLABLE, formRecord.recycleStatus); GTEST_LOG_(INFO) << "FormMgrAdapter_CheckUpdateFormRecord end"; } + +/** + * @tc.name: FormMgrAdapter_SwitchLockForms + * @tc.desc: test SwitchLockForms function. + * @tc.type: FUNC + */ +HWTEST_F(FmsFormMgrAdapterTest3, FormMgrAdapter_SwitchLockForms, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FormMgrAdapter_SwitchLockForms start"; + FormMgrAdapter formMgrAdapter; + EXPECT_EQ(ERR_OK, formMgrAdapter.SwitchLockForms("bundleName", 0, false)); + GTEST_LOG_(INFO) << "FormMgrAdapter_SwitchLockForms end"; +} } \ No newline at end of file -- Gitee