IssueNo: #I507AE: implicit query by priority

Description: implicit query by priority
Sig: SIG_ApplicaitonFramework
Feature or Bugfix: Feature
Binary Source: No

Signed-off-by: SoftSquirrel <xuhao47@huawei.com>
This commit is contained in:
SoftSquirrel 2022-04-07 18:04:26 +08:00
parent 1fc15f80cb
commit 9d6ccf8224

View File

@ -2701,9 +2701,10 @@ bool BundleDataMgr::ImplicitQueryInfoByPriority(const Want &want, int32_t flags,
return false;
}
std::vector<AbilityInfo> abilityInfos;
bool abilityValid = ImplicitQueryAbilityInfos(want, flags, requestUserId, abilityInfos) && (abilityInfos.size() > 0);
bool abilityValid =
ImplicitQueryAbilityInfos(want, flags, requestUserId, abilityInfos) && (abilityInfos.size() > 0);
std::vector<ExtensionAbilityInfo> extensionInfos;
bool extensionValid =
bool extensionValid =
ImplicitQueryExtensionInfos(want, flags, requestUserId, extensionInfos) && (extensionInfos.size() > 0);
if (!abilityValid && !extensionValid) {
// both invalid
@ -2713,8 +2714,11 @@ bool BundleDataMgr::ImplicitQueryInfoByPriority(const Want &want, int32_t flags,
if (abilityValid && extensionValid) {
// both valid
if (abilityInfos[0].priority >= extensionInfos[0].priority) {
APP_LOGD("find target AbilityInfo with higher priority, name : %{public}s", abilityInfos[0].name.c_str());
abilityInfo = abilityInfos[0];
} else {
APP_LOGD("find target ExtensionAbilityInfo with higher priority, name : %{public}s",
extensionInfos[0].name.c_str());
extensionInfo = extensionInfos[0];
}
} else if (abilityValid) {