diff --git a/services/dtbschedmgr/include/distributed_sched_permission.h b/services/dtbschedmgr/include/distributed_sched_permission.h index 57b495d..66adc84 100755 --- a/services/dtbschedmgr/include/distributed_sched_permission.h +++ b/services/dtbschedmgr/include/distributed_sched_permission.h @@ -43,8 +43,8 @@ public: using AccountInfo = IDistributedSched::AccountInfo; int32_t CheckDPermission(const AAFwk::Want& want, const CallerInfo& callerInfo, - const AccountInfo& accountInfo, bool needQueryExtension, - const std::string& localDeviceId); + const AccountInfo& accountInfo, const std::string& localDeviceId, + bool needQueryExtension = false); int32_t CheckGetCallerPermission(const AAFwk::Want& want, const CallerInfo& callerInfo, const AccountInfo& accountInfo, const std::string& localDeviceId); int32_t CheckPermission(uint32_t accessToken, const std::string& permissionName) const; @@ -64,7 +64,7 @@ private: const CallerInfo& callerInfo, const AccountInfo& accountInfo, const AAFwk::Want& want) const; bool CheckCustomPermission(const AppExecFwk::AbilityInfo& targetAbility, const CallerInfo& callerInfo) const; - bool getTargetAbility(const AAFwk::Want& want, bool needQueryExtension, const std::string& localDeviceId, + bool GetTargetAbility(const AAFwk::Want& want, bool needQueryExtension, const std::string& localDeviceId, AppExecFwk::AbilityInfo& targetAbility, const CallerInfo& callerInfo) const; }; } // namespace DistributedSchedule diff --git a/services/dtbschedmgr/src/bundle/bundle_manager_internal.cpp b/services/dtbschedmgr/src/bundle/bundle_manager_internal.cpp index a1a4668..db8a5ac 100644 --- a/services/dtbschedmgr/src/bundle/bundle_manager_internal.cpp +++ b/services/dtbschedmgr/src/bundle/bundle_manager_internal.cpp @@ -143,32 +143,10 @@ bool BundleManagerInternal::QueryExtensionAbilityInfo(const AAFwk::Want& want, int32_t BundleManagerInternal::InitAbilityInfoFromExtension(AppExecFwk::ExtensionAbilityInfo &extensionAbilityInfo, AppExecFwk::AbilityInfo &abilityInfo) { - abilityInfo.applicationName = extensionAbilityInfo.applicationInfo.name; - abilityInfo.applicationInfo = extensionAbilityInfo.applicationInfo; abilityInfo.bundleName = extensionAbilityInfo.bundleName; - abilityInfo.package = extensionAbilityInfo.moduleName; - abilityInfo.moduleName = extensionAbilityInfo.moduleName; abilityInfo.name = extensionAbilityInfo.name; - abilityInfo.srcEntrance = extensionAbilityInfo.srcEntrance; - abilityInfo.srcPath = extensionAbilityInfo.srcEntrance; - abilityInfo.iconPath = extensionAbilityInfo.icon; - abilityInfo.iconId = extensionAbilityInfo.iconId; - abilityInfo.label = extensionAbilityInfo.label; - abilityInfo.labelId = extensionAbilityInfo.labelId; - abilityInfo.description = extensionAbilityInfo.description; - abilityInfo.descriptionId = extensionAbilityInfo.descriptionId; abilityInfo.permissions = extensionAbilityInfo.permissions; - abilityInfo.readPermission = extensionAbilityInfo.readPermission; - abilityInfo.writePermission = extensionAbilityInfo.writePermission; - abilityInfo.extensionAbilityType = extensionAbilityInfo.type; abilityInfo.visible = extensionAbilityInfo.visible; - abilityInfo.resourcePath = extensionAbilityInfo.resourcePath; - abilityInfo.enabled = extensionAbilityInfo.enabled; - abilityInfo.isModuleJson = true; - abilityInfo.isStageBasedModel = true; - abilityInfo.process = extensionAbilityInfo.process; - abilityInfo.metadata = extensionAbilityInfo.metadata; - abilityInfo.type = AppExecFwk::AbilityType::EXTENSION; return 0; } diff --git a/services/dtbschedmgr/src/distributed_sched_permission.cpp b/services/dtbschedmgr/src/distributed_sched_permission.cpp index 301dc8e..5155ec5 100644 --- a/services/dtbschedmgr/src/distributed_sched_permission.cpp +++ b/services/dtbschedmgr/src/distributed_sched_permission.cpp @@ -53,13 +53,13 @@ void from_json(const nlohmann::json& jsonObject, GroupInfo& groupInfo) } int32_t DistributedSchedPermission::CheckDPermission(const AAFwk::Want& want, const CallerInfo& callerInfo, - const AccountInfo& accountInfo, bool needQueryExtension, const std::string& localDeviceId) + const AccountInfo& accountInfo, const std::string& localDeviceId, bool needQueryExtension) { if (localDeviceId.empty()) { return INVALID_PARAMETERS_ERR; } AppExecFwk::AbilityInfo targetAbility; - bool result = getTargetAbility(want, needQueryExtension, localDeviceId, targetAbility, callerInfo); + bool result = GetTargetAbility(want, needQueryExtension, localDeviceId, targetAbility, callerInfo); if (!result) { HILOGE("CheckDPermission can not find the target ability"); return INVALID_PARAMETERS_ERR; @@ -155,7 +155,7 @@ bool DistributedSchedPermission::ParseGroupInfos(const std::string& returnGroupS return true; } -bool DistributedSchedPermission::getTargetAbility(const AAFwk::Want& want, +bool DistributedSchedPermission::GetTargetAbility(const AAFwk::Want& want, bool needQueryExtension, const std::string& localDeviceId, AppExecFwk::AbilityInfo& targetAbility, const CallerInfo& callerInfo) const { @@ -172,15 +172,14 @@ bool DistributedSchedPermission::getTargetAbility(const AAFwk::Want& want, return true; } } - HILOGE("QueryAbilityInfo failed"); + HILOGE("QueryAbilityInfo failed, want bundle name=%{public}s.", want.GetBundle()); return false; } int32_t DistributedSchedPermission::CheckGetCallerPermission(const AAFwk::Want& want, const CallerInfo& callerInfo, const AccountInfo& accountInfo, const std::string& localDeviceId) { - bool needQueryExtension = false; - int32_t result = CheckDPermission(want, callerInfo, accountInfo, needQueryExtension, localDeviceId); + int32_t result = CheckDPermission(want, callerInfo, accountInfo, localDeviceId); if (result != ERR_OK) { HILOGE("CheckGetCallerPermission fail, error:%{public}d", result); return result; diff --git a/services/dtbschedmgr/src/distributed_sched_service.cpp b/services/dtbschedmgr/src/distributed_sched_service.cpp index 3722208..c5ddd27 100755 --- a/services/dtbschedmgr/src/distributed_sched_service.cpp +++ b/services/dtbschedmgr/src/distributed_sched_service.cpp @@ -168,8 +168,7 @@ int32_t DistributedSchedService::StartAbilityFromRemote(const OHOS::AAFwk::Want& return INVALID_REMOTE_PARAMETERS_ERR; } DistributedSchedPermission& permissionInstance = DistributedSchedPermission::GetInstance(); - bool needQueryExtension = false; - ErrCode err = permissionInstance.CheckDPermission(want, callerInfo, accountInfo, needQueryExtension, deviceId); + ErrCode err = permissionInstance.CheckDPermission(want, callerInfo, accountInfo, deviceId); if (err != ERR_OK) { HILOGE("CheckDPermission denied!!"); return err; @@ -922,9 +921,8 @@ int32_t DistributedSchedService::ConnectAbilityFromRemote(const OHOS::AAFwk::Wan } DistributedSchedPermission& permissionInstance = DistributedSchedPermission::GetInstance(); - bool needQueryExtension = true; int32_t result = permissionInstance.CheckDPermission(want, callerInfo, accountInfo, - needQueryExtension, localDeviceId); + localDeviceId, true); if (result != ERR_OK) { HILOGE("ConnectAbilityFromRemote CheckDPermission denied!!"); return result;