From fe21f9c1d2b3341652ed289e4a0837a15411cd21 Mon Sep 17 00:00:00 2001 From: "yaoruozi1@huawei.com" Date: Wed, 20 Nov 2024 13:03:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E9=87=8F=E5=A4=87=E4=BB=BD=E5=8A=A0?= =?UTF-8?q?=E5=9B=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yaoruozi1@huawei.com --- .../backup_sa/include/module_ipc/service.h | 3 +++ .../src/module_ipc/service_incremental.cpp | 23 ++++++++++++++----- tests/mock/module_ipc/service_mock.cpp | 2 ++ 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/services/backup_sa/include/module_ipc/service.h b/services/backup_sa/include/module_ipc/service.h index aa2040ea1..1b92cc342 100644 --- a/services/backup_sa/include/module_ipc/service.h +++ b/services/backup_sa/include/module_ipc/service.h @@ -556,6 +556,9 @@ private: void HandleNotSupportBundleNames(const std::vector &srcBundleNames, std::vector &supportBundleNames, bool isIncBackup); + + void SetBundleIncDataInfo(const std::vector &bundlesToBackup, + std::vector &supportBundleNames); private: static sptr instance_; static std::mutex instanceLock_; diff --git a/services/backup_sa/src/module_ipc/service_incremental.cpp b/services/backup_sa/src/module_ipc/service_incremental.cpp index f4a14cee2..8583f06e2 100644 --- a/services/backup_sa/src/module_ipc/service_incremental.cpp +++ b/services/backup_sa/src/module_ipc/service_incremental.cpp @@ -352,9 +352,7 @@ ErrCode Service::AppendBundlesIncrementalBackupSession(const std::vectorGetSessionUserId()); std::vector supportBackupNames = GetSupportBackupBundleNames(backupInfos, true, bundleNames); session_->AppendBundles(supportBackupNames); - for (auto &bundleInfo : bundlesToBackup) { - session_->SetIncrementalData(bundleInfo); - } + SetBundleIncDataInfo(bundlesToBackup, supportBackupNames); SetCurrentBackupSessProperties(supportBackupNames, session_->GetSessionUserId(), backupInfos, true); OnStartSched(); session_->DecreaseSessionCnt(__PRETTY_FUNCTION__); @@ -390,9 +388,7 @@ ErrCode Service::AppendBundlesIncrementalBackupSession(const std::vectorGetSessionUserId()); std::vector supportBackupNames = GetSupportBackupBundleNames(backupInfos, true, bundleNames); - for (auto &bundleInfo : bundlesToBackup) { - session_->SetIncrementalData(bundleInfo); - } + SetBundleIncDataInfo(bundlesToBackup, supportBackupNames); session_->AppendBundles(supportBackupNames); HandleCurGroupIncBackupInfos(backupInfos, bundleNameDetailMap, isClearDataFlags); OnStartSched(); @@ -747,4 +743,19 @@ void Service::SetCurrentBackupSessProperties(const vector &bundleNames, } HILOGI("end SetCurrentBackupSessProperties"); } + + +void Service::SetBundleIncDataInfo(const std::vector& bundlesToBackup, + std::vector& supportBundleNames) +{ + for (auto &bundleInfo : bundlesToBackup) { + std::string bundleName = bundleInfo.bundleName; + auto it = std::find(supportBundleNames.begin(), supportBundleNames.end(), bundleName); + if (it == supportBundleNames.end()) { + HILOGE("Current bundle is not support to backup, bundleName:%{public}s", bundleName.c_str()); + continue; + } + session_->SetIncrementalData(bundleInfo); + } +} } // namespace OHOS::FileManagement::Backup diff --git a/tests/mock/module_ipc/service_mock.cpp b/tests/mock/module_ipc/service_mock.cpp index 1878879d0..4f6a1d0d1 100644 --- a/tests/mock/module_ipc/service_mock.cpp +++ b/tests/mock/module_ipc/service_mock.cpp @@ -298,4 +298,6 @@ std::vector Service::GetSupportBackupBundleNames(vector&, vector&, bool) {} + +void Service::SetBundleIncDataInfo(const std::vector&, std::vector&) {} } // namespace OHOS::FileManagement::Backup -- Gitee