From c0dded57e442dbd27a37ed81b57a045186eae9bf Mon Sep 17 00:00:00 2001 From: zph Date: Mon, 31 Mar 2025 20:31:30 +0800 Subject: [PATCH 1/4] update Signed-off-by: zph --- .../udmf/preprocess/preprocess_utils.cpp | 19 ++++++++++++++++++- .../udmf/preprocess/preprocess_utils.h | 1 + 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp b/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp index 069609aba..6285e557e 100644 --- a/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp +++ b/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp @@ -22,6 +22,7 @@ #include "udmf_radar_reporter.h" #include "accesstoken_kit.h" #include "device_manager_adapter.h" +#include "ipc_skeleton.h" #include "log_print.h" #include "udmf_radar_reporter.h" #include "udmf_utils.h" @@ -71,7 +72,7 @@ int32_t PreProcessUtils::RuntimeDataImputation(UnifiedData &data, CustomOption & runtime.deviceId = GetLocalDeviceId(); runtime.recordTotalNum = static_cast(data.GetRecords().size()); runtime.tokenId = option.tokenId; - runtime.sdkVersion = data.GetSdkVersion(); + runtime.sdkVersion = GetSdkVersionByToken(option.tokenId); data.SetRuntime(runtime); return E_OK; } @@ -470,5 +471,21 @@ Status PreProcessUtils::GetSummaryFromDetails(const UDDetails &details, Summary } return E_OK; } + +std::string PreProcessUtils::GetSdkVersionByToken(uint32_t tokenId) +{ + if (Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId) != + Security::AccessToken::ATokenTypeEnum::TOKEN_HAP) { + ZLOGE("Caller is not application."); + return ""; + } + Security::AccessToken::HapTokenInfo hapTokenInfo; + auto ret = Security::AccessToken::AccessTokenKit::GetHapTokenInfo(tokenId, hapTokenInfo); + if (ret != 0) { + ZLOGE("GetHapTokenInfo fail, tokenid is %{public}u, ret is %{public}d.", tokenId, ret); + return ""; + } + return std::to_string(hapTokenInfo.apiVersion); +} } // namespace UDMF } // namespace OHOS \ No newline at end of file diff --git a/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.h b/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.h index 6d6130078..1532f4c49 100644 --- a/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.h +++ b/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.h @@ -46,6 +46,7 @@ private: static bool CheckUriAuthorization(const std::vector& uris, uint32_t tokenId); static int32_t GetDfsUrisFromLocal(const std::vector &uris, int32_t userId, UnifiedData &data); static bool IsFileType(std::shared_ptr record); + static std::string GetSdkVersionByToken(uint32_t tokenId); }; } // namespace UDMF } // namespace OHOS -- Gitee From 2607afecb73eca69f56d153def13fdce2deebe9e Mon Sep 17 00:00:00 2001 From: zph Date: Tue, 1 Apr 2025 15:01:54 +0800 Subject: [PATCH 2/4] update Signed-off-by: zph --- .../udmf/permission/uri_permission_manager.cpp | 2 +- .../service/udmf/udmf_service_impl.cpp | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/services/distributeddataservice/service/udmf/permission/uri_permission_manager.cpp b/services/distributeddataservice/service/udmf/permission/uri_permission_manager.cpp index e9eb42a70..042325f49 100644 --- a/services/distributeddataservice/service/udmf/permission/uri_permission_manager.cpp +++ b/services/distributeddataservice/service/udmf/permission/uri_permission_manager.cpp @@ -22,7 +22,7 @@ namespace OHOS { namespace UDMF { -constexpr const std::uint32_t GRANT_URI_PERMISSION_MAX_SIZE = 500; +constexpr const std::uint32_t GRANT_URI_PERMISSION_MAX_SIZE = 10000; UriPermissionManager &UriPermissionManager::GetInstance() { static UriPermissionManager instance; diff --git a/services/distributeddataservice/service/udmf/udmf_service_impl.cpp b/services/distributeddataservice/service/udmf/udmf_service_impl.cpp index 408c19a00..2310e1e31 100644 --- a/services/distributeddataservice/service/udmf/udmf_service_impl.cpp +++ b/services/distributeddataservice/service/udmf/udmf_service_impl.cpp @@ -580,19 +580,15 @@ int32_t UdmfServiceImpl::IsRemoteData(const QueryOption &query, bool &result) return E_DB_ERROR; } - UnifiedData unifiedData; - if (store->Get(query.key, unifiedData) != E_OK) { - ZLOGE("Store get unifiedData failed:%{public}s", key.intention.c_str()); - return E_DB_ERROR; - } - std::shared_ptr runtime = unifiedData.GetRuntime(); - if (runtime == nullptr) { - ZLOGE("Store get runtime failed, key: %{public}s.", query.key.c_str()); + Runtime runtime; + auto res = store->GetRuntime(query.key, runtime); + if (res != E_OK) { + ZLOGE("Get runtime failed, res:%{public}d, key:%{public}s.", res, query.key.c_str()); return E_DB_ERROR; } std::string localDeviceId = PreProcessUtils::GetLocalDeviceId(); - if (localDeviceId != runtime->deviceId) { + if (localDeviceId != runtime.deviceId) { result = true; } return E_OK; -- Gitee From 71936fb13653aac58b17a4d16af304434620ce6f Mon Sep 17 00:00:00 2001 From: zph Date: Wed, 2 Apr 2025 19:42:35 +0800 Subject: [PATCH 3/4] update Signed-off-by: zph --- .../service/udmf/preprocess/preprocess_utils.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp b/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp index 6285e557e..145727a2a 100644 --- a/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp +++ b/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp @@ -425,7 +425,7 @@ bool PreProcessUtils::GetDetailsFromUData(const UnifiedData &data, UDDetails &de { auto records = data.GetRecords(); if (records.size() != TEMP_UDATA_RECORD_SIZE) { - ZLOGE("Records size error.size:%{public}zu", records.size()); + ZLOGI("Records size:%{public}zu", records.size()); return false; } if (records[0] == nullptr) { @@ -476,7 +476,7 @@ std::string PreProcessUtils::GetSdkVersionByToken(uint32_t tokenId) { if (Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId) != Security::AccessToken::ATokenTypeEnum::TOKEN_HAP) { - ZLOGE("Caller is not application."); + ZLOGE("Caller is not application, tokenid is %{public}u", tokenId); return ""; } Security::AccessToken::HapTokenInfo hapTokenInfo; -- Gitee From 759edd1e8f0784a64a8dfbceaa08dcad73925e35 Mon Sep 17 00:00:00 2001 From: zph Date: Wed, 2 Apr 2025 21:13:07 +0800 Subject: [PATCH 4/4] update Signed-off-by: zph --- .../service/udmf/preprocess/preprocess_utils.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp b/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp index 145727a2a..0cf277aa7 100644 --- a/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp +++ b/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp @@ -22,7 +22,6 @@ #include "udmf_radar_reporter.h" #include "accesstoken_kit.h" #include "device_manager_adapter.h" -#include "ipc_skeleton.h" #include "log_print.h" #include "udmf_radar_reporter.h" #include "udmf_utils.h" -- Gitee