From a8ce3e95d33ad52b897dcdd32f17e9c207924110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=99=9F=E9=92=B0?= Date: Fri, 15 Nov 2024 18:37:29 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E8=AE=BE=E8=B6=85=E6=97=B6=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 张晟钰 --- .../backup_sa/include/module_ipc/service.h | 3 +++ .../src/module_ipc/service_incremental.cpp | 26 ++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/services/backup_sa/include/module_ipc/service.h b/services/backup_sa/include/module_ipc/service.h index 81aae7530..a4d2c69d6 100644 --- a/services/backup_sa/include/module_ipc/service.h +++ b/services/backup_sa/include/module_ipc/service.h @@ -550,6 +550,9 @@ private: std::vector GetSupportBackupBundleNames(vector &bundleInfos, bool isIncBackup); + + void RefreshBundleDataSize(const vector &newBundleInfos, + std::string bundleName, wptr ptr); 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 0e1592367..50231c0d4 100644 --- a/services/backup_sa/src/module_ipc/service_incremental.cpp +++ b/services/backup_sa/src/module_ipc/service_incremental.cpp @@ -22,6 +22,7 @@ #include #include +#include #include #include #include @@ -213,7 +214,8 @@ void Service::StartGetFdTask(std::string bundleName, wptr ptr) int64_t lastTime = session->GetLastIncrementalTime(bundleName); std::vector bundleNames; bundleNames.emplace_back(BIncrementalData {bundleName, lastTime}); - BundleMgrAdapter::GetBundleInfosForIncremental(bundleNames, session->GetSessionUserId()); + auto newBundleInfos = BundleMgrAdapter::GetBundleInfosForIncremental(bundleNames, session->GetSessionUserId()); + RefreshBundleDataSize(newBundleInfos, bundleName, ptr); string path = BConstants::GetSaBundleBackupRootDir(session->GetSessionUserId()). append(bundleName). append("/"). @@ -233,6 +235,28 @@ void Service::StartGetFdTask(std::string bundleName, wptr ptr) } } +void Service::RefreshBundleDataSize(const vector &newBundleInfos, + std::string bundleName, wptr ptr) +{ + auto thisPtr = ptr.promote(); + if (!thisPtr) { + HILOGE("this pointer is null"); + return; + } + auto session = thisPtr->session_; + if (session == nullptr) { + HILOGE("session is nullptr"); + return; + } + for (auto &info : newBundleInfos) { + if (info.name == bundleName) { + session->SetBundleDataSize(bundleName, info.increSpaceOccupied); + HILOGI("RefreshBundleDataSize, bundlename = %{public}s , datasize = %{public}" PRId64 "", + bundleName.c_str(), info.increSpaceOccupied); + } + } +} + ErrCode Service::GetAppLocalListAndDoIncrementalBackup() { HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); -- Gitee