From e357dbda0398bb37c5234dfacd977bfa7471fa07 Mon Sep 17 00:00:00 2001 From: gaoqiang_strong Date: Fri, 22 Aug 2025 13:59:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dcast+=E4=B8=8B=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: gaoqiang_strong --- .../include/deviceprofile_connector.h | 1 + .../src/deviceprofile_connector.cpp | 22 ++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/commondependency/include/deviceprofile_connector.h b/commondependency/include/deviceprofile_connector.h index 3923a314d..d70508c81 100644 --- a/commondependency/include/deviceprofile_connector.h +++ b/commondependency/include/deviceprofile_connector.h @@ -372,6 +372,7 @@ private: void UpdatePeerUserId(DistributedDeviceProfile::AccessControlProfile profile, std::string &localUdid, const std::vector &localUserIds, const std::string &remoteUdid, const std::vector &remoteFrontUserIds); + void SetProcessInfoPkgName(const DistributedDeviceProfile::AccessControlProfile &acl, ProcessInfo &processInfo); bool CheckAclStatusNotMatch(const DistributedDeviceProfile::AccessControlProfile &profile, const std::string &localUdid, const std::vector &foregroundUserIds, const std::vector &backgroundUserIds); diff --git a/commondependency/src/deviceprofile_connector.cpp b/commondependency/src/deviceprofile_connector.cpp index b43bd68c1..229a6dde6 100644 --- a/commondependency/src/deviceprofile_connector.cpp +++ b/commondependency/src/deviceprofile_connector.cpp @@ -1223,8 +1223,7 @@ DM_EXPORT bool DeviceProfileConnector::DeleteAclForAccountLogOut( accesserAccountId == accountId) { offlineParam.bindType = item.GetBindType(); ProcessInfo processInfo; - processInfo.pkgName = item.GetAccesser().GetAccesserBundleName(); - processInfo.pkgName = processInfo.pkgName.empty() ? std::string(DM_PKG_NAME) : processInfo.pkgName; + SetProcessInfoPkgName(item, processInfo); processInfo.userId = item.GetAccesser().GetAccesserUserId(); offlineParam.processVec.emplace_back(processInfo); notifyOffline = (item.GetStatus() == ACTIVE); @@ -1236,8 +1235,7 @@ DM_EXPORT bool DeviceProfileConnector::DeleteAclForAccountLogOut( accesseeAccountId == accountId) { offlineParam.bindType = item.GetBindType(); ProcessInfo processInfo; - processInfo.pkgName = item.GetAccessee().GetAccesseeBundleName(); - processInfo.pkgName = processInfo.pkgName.empty() ? std::string(DM_PKG_NAME) : processInfo.pkgName; + SetProcessInfoPkgName(item, processInfo); processInfo.userId = item.GetAccessee().GetAccesseeUserId(); offlineParam.processVec.emplace_back(processInfo); notifyOffline = (item.GetStatus() == ACTIVE); @@ -1289,8 +1287,7 @@ void DeviceProfileConnector::CacheOfflineParam(const DistributedDeviceProfile::A std::string(accesseeAccountIdHash) == accountIdHash) { offlineParam.bindType = profile.GetBindType(); ProcessInfo processInfo; - processInfo.pkgName = profile.GetAccesser().GetAccesserBundleName(); - processInfo.pkgName = processInfo.pkgName.empty() ? std::string(DM_PKG_NAME) : processInfo.pkgName; + SetProcessInfoPkgName(profile, processInfo); processInfo.userId = profile.GetAccesser().GetAccesserUserId(); offlineParam.processVec.emplace_back(processInfo); notifyOffline = (profile.GetStatus() == ACTIVE); @@ -1302,8 +1299,7 @@ void DeviceProfileConnector::CacheOfflineParam(const DistributedDeviceProfile::A std::string(accesserAccountIdHash) == accountIdHash) { offlineParam.bindType = profile.GetBindType(); ProcessInfo processInfo; - processInfo.pkgName = profile.GetAccessee().GetAccesseeBundleName(); - processInfo.pkgName = processInfo.pkgName.empty() ? std::string(DM_PKG_NAME) : processInfo.pkgName; + SetProcessInfoPkgName(profile, processInfo); processInfo.userId = profile.GetAccessee().GetAccesseeUserId(); offlineParam.processVec.emplace_back(processInfo); notifyOffline = (profile.GetStatus() == ACTIVE); @@ -2595,6 +2591,16 @@ void DeviceProfileConnector::UpdatePeerUserId(AccessControlProfile profile, std: } } +void DeviceProfileConnector::SetProcessInfoPkgName(const DistributedDeviceProfile::AccessControlProfile &acl, + ProcessInfo &processInfo) +{ + if (acl.GetBindType() == DM_IDENTICAL_ACCOUNT || acl.GetBindLevel() == USER) { + processInfo.pkgName = std::string(DM_PKG_NAME); + } else { + processInfo.pkgName = acl.GetAccesser().GetAccesserBundleName(); + } +} + DM_EXPORT std::multimap DeviceProfileConnector::GetDevIdAndUserIdByActHash( const std::string &localUdid, const std::string &peerUdid, int32_t peerUserId, const std::string &peerAccountHash) -- Gitee