From 91119573217d44a4aa6663802bd5391ba74cb57f Mon Sep 17 00:00:00 2001 From: chen Date: Wed, 21 Sep 2022 20:12:46 +0800 Subject: [PATCH] =?UTF-8?q?pr558=E6=8C=91=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chen --- .../accesstoken/include/accesstoken_kit.h | 2 +- .../accesstoken/src/accesstoken_kit.cpp | 2 +- .../src/accesstoken_manager_client.cpp | 2 +- .../src/accesstoken_manager_client.h | 6 +-- .../src/accesstoken_manager_proxy.h | 4 +- .../src/permission_state_change_callback.h | 2 +- .../innerkits/nativetoken/src/nativetoken.c | 11 ++--- .../cpp/src/callback/callback_manager.cpp | 16 ++------ .../permission_definition_cache.cpp | 1 - .../cpp/src/permission/permission_manager.cpp | 21 +++++----- .../src/permission/permission_policy_set.cpp | 40 ++++++++++--------- .../service/accesstoken_manager_service.cpp | 8 ++-- .../accesstoken_remote_token_manager.cpp | 8 ++-- .../cpp/src/token/native_token_info_inner.cpp | 4 +- .../active/active_status_callback_manager.cpp | 8 +--- .../src/record/permission_record_manager.cpp | 15 +++---- .../record/permission_used_record_cache.cpp | 3 +- .../sensitive/sensitive_resource_manager.cpp | 11 ++--- .../src/device/device_info_repository.cpp | 2 +- .../src/remote/remote_command_executor.cpp | 5 +-- .../src/remote/remote_command_manager.cpp | 1 - .../src/service/token_sync_manager_stub.cpp | 1 + tools/accesstoken/src/atm_command.cpp | 5 +-- 23 files changed, 81 insertions(+), 97 deletions(-) diff --git a/interfaces/innerkits/accesstoken/include/accesstoken_kit.h b/interfaces/innerkits/accesstoken/include/accesstoken_kit.h index ff0632e34..68c9ae1b5 100644 --- a/interfaces/innerkits/accesstoken/include/accesstoken_kit.h +++ b/interfaces/innerkits/accesstoken/include/accesstoken_kit.h @@ -70,7 +70,7 @@ public: static int GetAllNativeTokenInfo(std::vector& nativeTokenInfosRes); static int SetRemoteHapTokenInfo(const std::string& deviceID, const HapTokenInfoForSync& hapSync); static int SetRemoteNativeTokenInfo(const std::string& deviceID, - std::vector& nativeTokenInfoList); + const std::vector& nativeTokenInfoList); static int DeleteRemoteToken(const std::string& deviceID, AccessTokenID tokenID); static AccessTokenID GetRemoteNativeTokenID(const std::string& deviceID, AccessTokenID tokenID); static int DeleteRemoteDeviceTokens(const std::string& deviceID); diff --git a/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp b/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp index 6736123e1..33ba3abd3 100644 --- a/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp +++ b/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp @@ -354,7 +354,7 @@ int AccessTokenKit::SetRemoteHapTokenInfo(const std::string& deviceID, } int AccessTokenKit::SetRemoteNativeTokenInfo(const std::string& deviceID, - std::vector& nativeTokenInfoList) + const std::vector& nativeTokenInfoList) { ACCESSTOKEN_LOG_DEBUG(LABEL, "called, deviceID=%{public}s", ConstantCommon::EncryptDevId(deviceID).c_str()); return AccessTokenManagerClient::GetInstance().SetRemoteNativeTokenInfo(deviceID, nativeTokenInfoList); diff --git a/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.cpp b/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.cpp index 4b2bbb3e4..9f0e9ce3a 100644 --- a/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.cpp +++ b/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.cpp @@ -429,7 +429,7 @@ int AccessTokenManagerClient::SetRemoteHapTokenInfo(const std::string& deviceID, } int AccessTokenManagerClient::SetRemoteNativeTokenInfo(const std::string& deviceID, - std::vector& nativeTokenInfoList) + const std::vector& nativeTokenInfoList) { auto proxy = GetProxy(); if (proxy == nullptr) { diff --git a/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.h b/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.h index 7d5a2d44f..514194be6 100644 --- a/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.h +++ b/interfaces/innerkits/accesstoken/src/accesstoken_manager_client.h @@ -66,7 +66,7 @@ public: int32_t ReloadNativeTokenInfo(); AccessTokenID GetNativeTokenId(const std::string& processName); int32_t RegisterPermStateChangeCallback( - const std::shared_ptr& customizedCallback); + const std::shared_ptr& customizedCb); int32_t UnRegisterPermStateChangeCallback( const std::shared_ptr& customizedCb); @@ -75,7 +75,7 @@ public: int GetAllNativeTokenInfo(std::vector& nativeTokenInfosRes); int SetRemoteHapTokenInfo(const std::string& deviceID, const HapTokenInfoForSync& hapSync); int SetRemoteNativeTokenInfo(const std::string& deviceID, - std::vector& nativeTokenInfoList); + const std::vector& nativeTokenInfoList); int DeleteRemoteToken(const std::string& deviceID, AccessTokenID tokenID); AccessTokenID GetRemoteNativeTokenID(const std::string& deviceID, AccessTokenID tokenID); int DeleteRemoteDeviceTokens(const std::string& deviceID); @@ -87,7 +87,7 @@ public: private: AccessTokenManagerClient(); int32_t CreatePermStateChangeCallback( - const std::shared_ptr& customizedCallback, + const std::shared_ptr& customizedCb, sptr& callback); DISALLOW_COPY_AND_MOVE(AccessTokenManagerClient); diff --git a/interfaces/innerkits/accesstoken/src/accesstoken_manager_proxy.h b/interfaces/innerkits/accesstoken/src/accesstoken_manager_proxy.h index a5b53e08c..3aa6de5e9 100644 --- a/interfaces/innerkits/accesstoken/src/accesstoken_manager_proxy.h +++ b/interfaces/innerkits/accesstoken/src/accesstoken_manager_proxy.h @@ -48,7 +48,7 @@ public: int GetPermissionFlag(AccessTokenID tokenID, const std::string& permissionName) override; int GrantPermission(AccessTokenID tokenID, const std::string& permissionName, int flag) override; int RevokePermission(AccessTokenID tokenID, const std::string& permissionName, int flag) override; - PermissionOper GetSelfPermissionsState(std::vector& permList) override; + PermissionOper GetSelfPermissionsState(std::vector& permListParcel) override; int ClearUserGrantedPermissionState(AccessTokenID tokenID) override; int GetTokenType(AccessTokenID tokenID) override; int CheckNativeDCap(AccessTokenID tokenID, const std::string& dcap) override; @@ -57,7 +57,7 @@ public: AccessTokenIDEx AllocHapToken(const HapInfoParcel& hapInfo, const HapPolicyParcel& policyParcel) override; int DeleteToken(AccessTokenID tokenID) override; int UpdateHapToken(AccessTokenID tokenID, const std::string& appIDDesc, int32_t apiVersion, - const HapPolicyParcel& policyPar) override; + const HapPolicyParcel& policyParcel) override; int GetHapTokenInfo(AccessTokenID tokenID, HapTokenInfoParcel& hapTokenInfoRes) override; int GetNativeTokenInfo(AccessTokenID tokenID, NativeTokenInfoParcel& nativeTokenInfoRes) override; int32_t ReloadNativeTokenInfo() override; diff --git a/interfaces/innerkits/accesstoken/src/permission_state_change_callback.h b/interfaces/innerkits/accesstoken/src/permission_state_change_callback.h index 8ee416fad..ce623cf32 100644 --- a/interfaces/innerkits/accesstoken/src/permission_state_change_callback.h +++ b/interfaces/innerkits/accesstoken/src/permission_state_change_callback.h @@ -26,7 +26,7 @@ namespace Security { namespace AccessToken { class PermissionStateChangeCallback : public PermissionStateChangeCallbackStub { public: - explicit PermissionStateChangeCallback(const std::shared_ptr& scope); + explicit PermissionStateChangeCallback(const std::shared_ptr& customizedCallback); ~PermissionStateChangeCallback() override; void PermStateChangeCallback(PermStateChangeInfo& result) override; diff --git a/interfaces/innerkits/nativetoken/src/nativetoken.c b/interfaces/innerkits/nativetoken/src/nativetoken.c index 3136a16e2..ae9cc4186 100644 --- a/interfaces/innerkits/nativetoken/src/nativetoken.c +++ b/interfaces/innerkits/nativetoken/src/nativetoken.c @@ -281,13 +281,11 @@ static NativeAtId CreateNativeTokenId(const char *processName) { uint32_t rand; NativeAtId tokenId; - int32_t ret; AtInnerInfo *innerId = (AtInnerInfo *)(&tokenId); int32_t retry = MAX_RETRY_TIMES; while (retry > 0) { - ret = GetRandomTokenId(&rand); - if (ret != ATRET_SUCCESS) { + if (GetRandomTokenId(&rand) != ATRET_SUCCESS) { return INVALID_TOKEN_ID; } if (IsTokenUniqueIdExist(rand & (TOKEN_RANDOM_MASK)) == 0) { @@ -333,9 +331,6 @@ static int32_t GetAplLevel(const char *aplStr) static void WriteToFile(const cJSON *root) { - size_t strLen; - ssize_t writtenLen; - char *jsonStr = NULL; jsonStr = cJSON_PrintUnformatted(root); if (jsonStr == NULL) { @@ -350,8 +345,8 @@ static void WriteToFile(const cJSON *root) AT_LOG_ERROR("[ATLIB-%s]:open failed.", __func__); break; } - strLen = strlen(jsonStr); - writtenLen = write(fd, (void *)jsonStr, (size_t)strLen); + size_t strLen = strlen(jsonStr); + ssize_t writtenLen = write(fd, (void *)jsonStr, (size_t)strLen); close(fd); if (writtenLen < 0 || (size_t)writtenLen != strLen) { AT_LOG_ERROR("[ATLIB-%s]:write failed, writtenLen is %zu.", __func__, writtenLen); diff --git a/services/accesstokenmanager/main/cpp/src/callback/callback_manager.cpp b/services/accesstokenmanager/main/cpp/src/callback/callback_manager.cpp index 208e9b73b..c77bc8caa 100644 --- a/services/accesstokenmanager/main/cpp/src/callback/callback_manager.cpp +++ b/services/accesstokenmanager/main/cpp/src/callback/callback_manager.cpp @@ -102,12 +102,8 @@ bool CallbackManager::CalledAccordingToTokenIdLlist( if (tokenIDList.empty()) { return true; } - for (const auto& id : tokenIDList) { - if (id == tokenID) { - return true; - } - } - return false; + return std::any_of(tokenIDList.begin(), tokenIDList.end(), + [tokenID](AccessTokenID id) { return id == tokenID; }); } bool CallbackManager::CalledAccordingToPermLlist(const std::vector& permList, const std::string& permName) @@ -115,12 +111,8 @@ bool CallbackManager::CalledAccordingToPermLlist(const std::vector& if (permList.empty()) { return true; } - for (const auto& perm : permList) { - if (perm == permName) { - return true; - } - } - return false; + return std::any_of(permList.begin(), permList.end(), + [permName](const std::string& perm) { return perm == permName; }); } void CallbackManager::ExecuteCallbackAsync(AccessTokenID tokenID, const std::string& permName, int32_t changeType) diff --git a/services/accesstokenmanager/main/cpp/src/permission/permission_definition_cache.cpp b/services/accesstokenmanager/main/cpp/src/permission/permission_definition_cache.cpp index 932c6515b..42a3ad1e2 100644 --- a/services/accesstokenmanager/main/cpp/src/permission/permission_definition_cache.cpp +++ b/services/accesstokenmanager/main/cpp/src/permission/permission_definition_cache.cpp @@ -149,7 +149,6 @@ void PermissionDefinitionCache::GetDefPermissionsByTokenId(std::vector& permDefRes) { - std::vector permDataList; for (const GenericValues& defValue : permDefRes) { PermissionDef def; AccessTokenID tokenId = (AccessTokenID)defValue.GetInt(FIELD_TOKEN_ID); diff --git a/services/accesstokenmanager/main/cpp/src/permission/permission_manager.cpp b/services/accesstokenmanager/main/cpp/src/permission/permission_manager.cpp index 545e9dc8c..18429aa5a 100644 --- a/services/accesstokenmanager/main/cpp/src/permission/permission_manager.cpp +++ b/services/accesstokenmanager/main/cpp/src/permission/permission_manager.cpp @@ -234,16 +234,17 @@ void PermissionManager::GetSelfPermissionState(std::vector return; } - for (const auto& perm : permsList) { - if (perm.permissionName == permState.permissionName) { - ACCESSTOKEN_LOG_INFO(LABEL, "find goal permission: %{public}s, status: %{public}d, flag: %{public}d", - permState.permissionName.c_str(), perm.grantStatus[0], perm.grantFlags[0]); - foundGoal = true; - goalGrantStatus = perm.grantStatus[0]; - goalGrantFlags = static_cast(perm.grantFlags[0]); - break; - } - } + auto iter = std::find_if(permsList.begin(), permsList.end(), [permState](const PermissionStateFull& perm) { + return permState.permissionName == perm.permissionName; + }); + if (iter != permsList.end()) { + ACCESSTOKEN_LOG_INFO(LABEL, "find goal permission: %{public}s, status: %{public}d, flag: %{public}d", + permState.permissionName.c_str(), iter->grantStatus[0], iter->grantFlags[0]); + foundGoal = true; + goalGrantStatus = iter->grantStatus[0]; + goalGrantFlags = static_cast(iter->grantFlags[0]); + } + if (foundGoal == false) { ACCESSTOKEN_LOG_WARN(LABEL, "can not find permission: %{public}s define!", permState.permissionName.c_str()); diff --git a/services/accesstokenmanager/main/cpp/src/permission/permission_policy_set.cpp b/services/accesstokenmanager/main/cpp/src/permission/permission_policy_set.cpp index c0b766dde..81dc06396 100644 --- a/services/accesstokenmanager/main/cpp/src/permission/permission_policy_set.cpp +++ b/services/accesstokenmanager/main/cpp/src/permission/permission_policy_set.cpp @@ -61,12 +61,15 @@ void PermissionPolicySet::Update(const std::vector& permSta PermissionValidator::FilterInvalidPermissionState(permStateList, permStateFilterList); Utils::UniqueWriteGuard infoGuard(this->permPolicySetLock_); + for (PermissionStateFull& permStateNew : permStateFilterList) { - for (const PermissionStateFull& permStateOld : permStateList_) { - if (permStateNew.permissionName == permStateOld.permissionName) { - UpdatePermStateFull(permStateOld, permStateNew); - break; - } + auto iter = std::find_if(permStateList_.begin(), permStateList_.end(), + [permStateNew](const PermissionStateFull& permStateOld) { + return permStateNew.permissionName == permStateOld.permissionName; + }); + if (iter != permStateList_.end()) { + UpdatePermStateFull(*iter, permStateNew); + break; } } permStateList_ = permStateFilterList; @@ -186,19 +189,20 @@ bool PermissionPolicySet::UpdatePermissionStatus(const std::string& permissionNa bool ret = false; Utils::UniqueWriteGuard infoGuard(this->permPolicySetLock_); - for (auto& perm : permStateList_) { - if (perm.permissionName == permissionName) { - if (perm.isGeneral) { - int32_t oldStatus = perm.grantStatus[0]; - perm.grantStatus[0] = isGranted ? PERMISSION_GRANTED : PERMISSION_DENIED; - uint32_t currFlag = static_cast(perm.grantFlags[0]); - uint32_t newFlag = flag | (currFlag & PERMISSION_GRANTED_BY_POLICY); - perm.grantFlags[0] = static_cast(newFlag); - ret = (oldStatus == perm.grantStatus[0]) ? false : true; - } else { - ACCESSTOKEN_LOG_WARN(LABEL, "perm isGeneral is false."); - } - break; + auto iter = std::find_if(permStateList_.begin(), permStateList_.end(), + [permissionName](const PermissionStateFull& permState) { + return permissionName == permState.permissionName; + }); + if (iter != permStateList_.end()) { + if (iter->isGeneral) { + int32_t oldStatus = iter->grantStatus[0]; + iter->grantStatus[0] = isGranted ? PERMISSION_GRANTED : PERMISSION_DENIED; + uint32_t currFlag = static_cast(iter->grantFlags[0]); + uint32_t newFlag = flag | (currFlag & PERMISSION_GRANTED_BY_POLICY); + iter->grantFlags[0] = static_cast(newFlag); + ret = (oldStatus == iter->grantStatus[0]) ? false : true; + } else { + ACCESSTOKEN_LOG_WARN(LABEL, "perm isGeneral is false."); } } diff --git a/services/accesstokenmanager/main/cpp/src/service/accesstoken_manager_service.cpp b/services/accesstokenmanager/main/cpp/src/service/accesstoken_manager_service.cpp index f51a99ec3..597370070 100644 --- a/services/accesstokenmanager/main/cpp/src/service/accesstoken_manager_service.cpp +++ b/services/accesstokenmanager/main/cpp/src/service/accesstoken_manager_service.cpp @@ -15,6 +15,7 @@ #include "accesstoken_manager_service.h" +#include #include #include #include @@ -372,10 +373,9 @@ int AccessTokenManagerService::SetRemoteNativeTokenInfo(const std::string& devic ACCESSTOKEN_LOG_INFO(LABEL, "called, deviceID: %{public}s", ConstantCommon::EncryptDevId(deviceID).c_str()); std::vector nativeList; - - for (const auto& nativeParcel : nativeTokenInfoForSyncParcel) { - nativeList.emplace_back(nativeParcel.nativeTokenInfoForSyncParams); - } + std::transform(nativeTokenInfoForSyncParcel.begin(), + nativeTokenInfoForSyncParcel.end(), std::back_inserter(nativeList), + [](const auto& nativeParcel) { return nativeParcel.nativeTokenInfoForSyncParams; }); return AccessTokenInfoManager::GetInstance().SetRemoteNativeTokenInfo(deviceID, nativeList); } diff --git a/services/accesstokenmanager/main/cpp/src/token/accesstoken_remote_token_manager.cpp b/services/accesstokenmanager/main/cpp/src/token/accesstoken_remote_token_manager.cpp index 1dc737bcd..828590b30 100644 --- a/services/accesstokenmanager/main/cpp/src/token/accesstoken_remote_token_manager.cpp +++ b/services/accesstokenmanager/main/cpp/src/token/accesstoken_remote_token_manager.cpp @@ -100,9 +100,11 @@ int AccessTokenRemoteTokenManager::GetDeviceAllRemoteTokenID(const std::string& return RET_FAILED; } - for (const auto& mapEntry : remoteDeviceMap_[deviceID].MappingTokenIDPairMap_) { - remoteIDs.emplace_back(mapEntry.first); - } + std::transform(remoteDeviceMap_[deviceID].MappingTokenIDPairMap_.begin(), + remoteDeviceMap_[deviceID].MappingTokenIDPairMap_.end(), + std::back_inserter(remoteIDs), [](const auto& mapEntry) { + return mapEntry.first; + }); return RET_SUCCESS; } diff --git a/services/accesstokenmanager/main/cpp/src/token/native_token_info_inner.cpp b/services/accesstokenmanager/main/cpp/src/token/native_token_info_inner.cpp index 2ec3bc325..c41e277cf 100644 --- a/services/accesstokenmanager/main/cpp/src/token/native_token_info_inner.cpp +++ b/services/accesstokenmanager/main/cpp/src/token/native_token_info_inner.cpp @@ -155,9 +155,7 @@ int NativeTokenInfoInner::RestoreNativeTokenInfo(AccessTokenID tokenId, const Ge SetNativeAcls(inGenericValues.GetString(FIELD_NATIVE_ACLS)); tokenInfoBasic_.tokenAttr = (uint32_t)inGenericValues.GetInt(FIELD_TOKEN_ATTR); - std::vector permDefRes = {}; - permPolicySet_ = PermissionPolicySet::RestorePermissionPolicy(tokenId, - permStateRes); + permPolicySet_ = PermissionPolicySet::RestorePermissionPolicy(tokenId, permStateRes); return RET_SUCCESS; } diff --git a/services/privacymanager/src/active/active_status_callback_manager.cpp b/services/privacymanager/src/active/active_status_callback_manager.cpp index 39bea09f6..6dc2f0daf 100644 --- a/services/privacymanager/src/active/active_status_callback_manager.cpp +++ b/services/privacymanager/src/active/active_status_callback_manager.cpp @@ -104,12 +104,8 @@ bool ActiveStatusCallbackManager::NeedCalled(const std::vector& per if (permList.empty()) { return true; } - for (const auto& perm : permList) { - if (perm == permName) { - return true; - } - } - return false; + return std::any_of(permList.begin(), permList.end(), + [permName](const std::string& perm) { return perm == permName; }); } void ActiveStatusCallbackManager::ExecuteCallbackAsync( diff --git a/services/privacymanager/src/record/permission_record_manager.cpp b/services/privacymanager/src/record/permission_record_manager.cpp index eda4cf5ba..67aa001f2 100644 --- a/services/privacymanager/src/record/permission_record_manager.cpp +++ b/services/privacymanager/src/record/permission_record_manager.cpp @@ -15,6 +15,7 @@ #include "permission_record_manager.h" +#include #include #include @@ -326,14 +327,14 @@ int32_t PermissionRecordManager::DeletePermissionRecord(int32_t days) bool PermissionRecordManager::HasStarted(const PermissionRecord& record) { Utils::UniqueWriteGuard lk(this->startRecordListRWLock_); - for (const auto& rec : startRecordList_) { - if ((rec.opCode == record.opCode) && (rec.tokenId == record.tokenId)) { - ACCESSTOKEN_LOG_ERROR(LABEL, "tokenId(%{public}d), opCode(%{public}d) has been started.", - record.tokenId, record.opCode); - return true; - } + bool hasStarted = std::any_of(startRecordList_.begin(), startRecordList_.end(), + [record](const auto& rec) { return (rec.opCode == record.opCode) && (rec.tokenId == record.tokenId); }); + if (hasStarted) { + ACCESSTOKEN_LOG_ERROR(LABEL, "tokenId(%{public}d), opCode(%{public}d) has been started.", + record.tokenId, record.opCode); } - return false; + + return hasStarted; } void PermissionRecordManager::FindRecordsToUpdateAndExecuted( diff --git a/services/privacymanager/src/record/permission_used_record_cache.cpp b/services/privacymanager/src/record/permission_used_record_cache.cpp index 0908327e9..c3cd74e29 100644 --- a/services/privacymanager/src/record/permission_used_record_cache.cpp +++ b/services/privacymanager/src/record/permission_used_record_cache.cpp @@ -175,8 +175,9 @@ int32_t PermissionUsedRecordCache::RemoveRecords(const AccessTokenID tokenId) std::shared_ptr curFindDeletePos; std::shared_ptr persistPendingBufferHead; std::shared_ptr persistPendingBufferEnd = nullptr; - int32_t countPersistPendingNode = 0; + { + int32_t countPersistPendingNode = 0; Utils::UniqueWriteGuard lock1(this->cacheLock1_); curFindDeletePos = recordBufferHead_->next; persistPendingBufferHead = recordBufferHead_; diff --git a/services/privacymanager/src/sensitive/sensitive_resource_manager.cpp b/services/privacymanager/src/sensitive/sensitive_resource_manager.cpp index b53b061ab..7d21d50e2 100644 --- a/services/privacymanager/src/sensitive/sensitive_resource_manager.cpp +++ b/services/privacymanager/src/sensitive/sensitive_resource_manager.cpp @@ -93,14 +93,11 @@ bool SensitiveResourceManager::GetAppStatus(const std::string& pkgName, int32_t& std::vector foreGroundAppList; appMgrProxy->GetForegroundApplications(foreGroundAppList); - for (const auto& foreGroundApp : foreGroundAppList) { - if (foreGroundApp.bundleName == pkgName) { - status = PERM_ACTIVE_IN_FOREGROUND; - return true; - } - } - status = PERM_ACTIVE_IN_BACKGROUND; + if (std::any_of(foreGroundAppList.begin(), foreGroundAppList.end(), + [pkgName](const auto& foreGroundApp) { return foreGroundApp.bundleName == pkgName; })) { + status = PERM_ACTIVE_IN_FOREGROUND; + } return true; } diff --git a/services/tokensyncmanager/src/device/device_info_repository.cpp b/services/tokensyncmanager/src/device/device_info_repository.cpp index e3c652cf4..678d92d91 100644 --- a/services/tokensyncmanager/src/device/device_info_repository.cpp +++ b/services/tokensyncmanager/src/device/device_info_repository.cpp @@ -35,7 +35,7 @@ std::vector DeviceInfoRepository::ListDeviceInfo() itEnd = deviceInfoMap_.end(); while (it != itEnd) { deviceInfo.push_back(it->second); - it++; + ++it; } return deviceInfo; } diff --git a/services/tokensyncmanager/src/remote/remote_command_executor.cpp b/services/tokensyncmanager/src/remote/remote_command_executor.cpp index 7aa665804..f0d090a73 100644 --- a/services/tokensyncmanager/src/remote/remote_command_executor.cpp +++ b/services/tokensyncmanager/src/remote/remote_command_executor.cpp @@ -117,14 +117,13 @@ int RemoteCommandExecutor::AddCommand(const std::shared_ptr& std::unique_lock lock(mutex_); // make sure do not have the same command in the command buffer - for (const auto& bufferedCommand : commands_) { - if (bufferedCommand->remoteProtocol_.uniqueId == uniqueId) { + if (std::any_of(commands_.begin(), commands_.end(), + [uniqueId](const auto& buffCommand) {return buffCommand->remoteProtocol_.uniqueId == uniqueId; })) { ACCESSTOKEN_LOG_WARN(LABEL, "targetNodeId %{public}s, add uniqueId %{public}s, already exist in the buffer, skip", targetNodeId_.c_str(), uniqueId.c_str()); return Constant::SUCCESS; - } } commands_.push_back(ptrCommand); diff --git a/services/tokensyncmanager/src/remote/remote_command_manager.cpp b/services/tokensyncmanager/src/remote/remote_command_manager.cpp index c9d41f27f..447448bde 100644 --- a/services/tokensyncmanager/src/remote/remote_command_manager.cpp +++ b/services/tokensyncmanager/src/remote/remote_command_manager.cpp @@ -56,7 +56,6 @@ int RemoteCommandManager::AddCommand(const std::string &udid, const std::shared_ ACCESSTOKEN_LOG_WARN(LABEL, "invalid udid, or null command"); return Constant::FAILURE; } - std::string uniqueId = command->remoteProtocol_.uniqueId; ACCESSTOKEN_LOG_INFO(LABEL, "add uniqueId"); std::shared_ptr executor = GetOrCreateRemoteCommandExecutor(udid); diff --git a/services/tokensyncmanager/src/service/token_sync_manager_stub.cpp b/services/tokensyncmanager/src/service/token_sync_manager_stub.cpp index 1699d7098..3ada8e984 100644 --- a/services/tokensyncmanager/src/service/token_sync_manager_stub.cpp +++ b/services/tokensyncmanager/src/service/token_sync_manager_stub.cpp @@ -79,6 +79,7 @@ void TokenSyncManagerStub::DeleteRemoteHapTokenInfoInner(MessageParcel& data, Me reply.WriteInt32(RET_FAILED); return; } + AccessTokenID tokenID = data.ReadUint32(); int result = this->DeleteRemoteHapTokenInfo(tokenID); reply.WriteInt32(result); diff --git a/tools/accesstoken/src/atm_command.cpp b/tools/accesstoken/src/atm_command.cpp index bbe21cdad..629b6707f 100644 --- a/tools/accesstoken/src/atm_command.cpp +++ b/tools/accesstoken/src/atm_command.cpp @@ -92,10 +92,10 @@ ErrCode AtmCommand::RunAsDumpCommand() OptType type = DEFAULT; uint32_t tokenId = 0; std::string permissionName = ""; - int option = -1; int counter = 0; while (true) { counter++; + int32_t option = getopt_long(argc_, argv_, SHORT_OPTIONS_DUMP.c_str(), LONG_OPTIONS_DUMP, nullptr); option = getopt_long(argc_, argv_, SHORT_OPTIONS_DUMP.c_str(), LONG_OPTIONS_DUMP, nullptr); if (optind < 0 || optind > argc_) { return ERR_INVALID_VALUE; @@ -130,11 +130,10 @@ ErrCode AtmCommand::RunAsPermCommand() OptType type = DEFAULT; uint32_t tokenId = 0; std::string permissionName = ""; - int option = -1; int counter = 0; while (true) { counter++; - option = getopt_long(argc_, argv_, SHORT_OPTIONS_PERM.c_str(), LONG_OPTIONS_PERM, nullptr); + int32_t option = getopt_long(argc_, argv_, SHORT_OPTIONS_PERM.c_str(), LONG_OPTIONS_PERM, nullptr); if (optind < 0 || optind > argc_) { return ERR_INVALID_VALUE; } -- Gitee