diff --git a/services/common/src/bundle_active_service.cpp b/services/common/src/bundle_active_service.cpp index c5ee7732accac8f3cf4583a194dfdb80e91cd7ed..37607d1c1bf322c1c6134de5bc7d2ff3375c8de5 100644 --- a/services/common/src/bundle_active_service.cpp +++ b/services/common/src/bundle_active_service.cpp @@ -275,7 +275,8 @@ bool BundleActiveService::IsBundleIdle(const std::string& bundleName, int32_t& e BUNDLE_ACTIVE_LOGI("check other bundle idle state"); auto tokenFlag = AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); if (isSystemAppAndHasPermission == true || - tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_NATIVE) { + tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_NATIVE || + tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_SHELL) { errCode = 0; result = bundleActiveCore_->IsBundleIdle(bundleName, userId); } else { @@ -386,7 +387,8 @@ int32_t BundleActiveService::SetBundleGroup(const std::string& bundleName, int32 BUNDLE_ACTIVE_LOGI("SetBundleGroup userid is %{public}d", userId); auto tokenFlag = AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); if (CheckBundleIsSystemAppAndHasPermission(callingUid, tokenId, errCode) || - tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_NATIVE) { + tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_NATIVE || + tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_SHELL) { result = bundleActiveCore_->SetBundleGroup(bundleName, newGroup, userId, isFlush); } } @@ -480,7 +482,8 @@ int32_t BundleActiveService::QueryPackageGroup(std::string& bundleName, int32_t AccessToken::AccessTokenID tokenId = OHOS::IPCSkeleton::GetCallingTokenID(); auto tokenFlag = AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); if (CheckBundleIsSystemAppAndHasPermission(callingUid, tokenId, errCode) || - tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_NATIVE) { + tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_NATIVE || + tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_SHELL) { result = bundleActiveCore_->QueryPackageGroup(bundleName, userId); } } @@ -633,7 +636,8 @@ int32_t BundleActiveService::QueryEventStats(int64_t beginTime, int64_t endTime, AccessToken::AccessTokenID tokenId = OHOS::IPCSkeleton::GetCallingTokenID(); auto tokenFlag = AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); if (CheckBundleIsSystemAppAndHasPermission(callingUid, tokenId, errCode) || - tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_NATIVE) { + tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_NATIVE || + tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_SHELL) { errCode = bundleActiveCore_->QueryEventStats(beginTime, endTime, eventStats, userId); } } @@ -660,7 +664,8 @@ int32_t BundleActiveService::QueryAppNotificationNumber(int64_t beginTime, int64 AccessToken::AccessTokenID tokenId = OHOS::IPCSkeleton::GetCallingTokenID(); auto tokenFlag = AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); if (CheckBundleIsSystemAppAndHasPermission(callingUid, tokenId, errCode) || - tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_NATIVE) { + tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_NATIVE || + tokenFlag == AccessToken::TypeATokenTypeEnum::TOKEN_SHELL) { errCode = bundleActiveCore_->QueryAppNotificationNumber(beginTime, endTime, eventStats, userId); } }