diff --git a/services/abilitymgr/include/ability_connect_manager.h b/services/abilitymgr/include/ability_connect_manager.h index 551b9c36a7f370e54b7a57045a59039c73c23f58..d559f1213f9c6eb41f06414e0d49dbc7f0dfd02a 100644 --- a/services/abilitymgr/include/ability_connect_manager.h +++ b/services/abilitymgr/include/ability_connect_manager.h @@ -129,6 +129,9 @@ public: */ int AbilityTransitionDone(const sptr &token, int state); + void ExecuteAbilityRecord(int targetState, const sptr &token, + std::shared_ptr &abilityRecord, std::string abilityState); + /** * ScheduleConnectAbilityDoneLocked, service ability call this interface while session was connected. * diff --git a/services/abilitymgr/src/ability_connect_manager.cpp b/services/abilitymgr/src/ability_connect_manager.cpp index 8ea182099c0c67e7c252d7d61ef805da9ef6e7cf..401639dda695d1c540e5ef76466d15be202c7fac 100644 --- a/services/abilitymgr/src/ability_connect_manager.cpp +++ b/services/abilitymgr/src/ability_connect_manager.cpp @@ -657,19 +657,8 @@ int AbilityConnectManager::AbilityTransitionDone(const sptr &toke int targetState = AbilityRecord::ConvertLifeCycleToAbilityState(static_cast(state)); std::string abilityState = AbilityRecord::ConvertAbilityState(static_cast(targetState)); std::shared_ptr abilityRecord; - if (targetState == AbilityState::INACTIVE - || targetState == AbilityState::FOREGROUND - || targetState == AbilityState::BACKGROUND) { - abilityRecord = GetExtensionFromServiceMapInner(token); - } else if (targetState == AbilityState::INITIAL) { - abilityRecord = GetExtensionFromTerminatingMapInner(token); - } else { - abilityRecord = nullptr; - } + AbilityConnectManager::ExecuteAbilityRecord(targetState, token, abilityRecord, abilityState); CHECK_POINTER_AND_RETURN(abilityRecord, ERR_INVALID_VALUE); - std::string element = abilityRecord->GetURI(); - HILOG_DEBUG("Ability: %{public}s, state: %{public}s", element.c_str(), abilityState.c_str()); - switch (targetState) { case AbilityState::INACTIVE: { if (abilityRecord->GetAbilityInfo().type == AbilityType::SERVICE) { @@ -715,6 +704,22 @@ int AbilityConnectManager::AbilityTransitionDone(const sptr &toke } } +void AbilityConnectManager::ExecuteAbilityRecord(int targetState, const sptr &token, + std::shared_ptr &abilityRecord, std::string abilityState) +{ + if (targetState == AbilityState::INACTIVE + || targetState == AbilityState::FOREGROUND + || targetState == AbilityState::BACKGROUND) { + abilityRecord = GetExtensionFromServiceMapInner(token); + } else if (targetState == AbilityState::INITIAL) { + abilityRecord = GetExtensionFromTerminatingMapInner(token); + } else { + abilityRecord = nullptr; + } + std::string element = abilityRecord->GetURI(); + HILOG_DEBUG("Ability: %{public}s, state: %{public}s", element.c_str(), abilityState.c_str()); +} + void AbilityConnectManager::ProcessPreload(const std::shared_ptr &record) const { auto bundleMgrHelper = AbilityUtil::GetBundleManagerHelper(); diff --git a/services/abilitymgr/src/ability_manager_proxy.cpp b/services/abilitymgr/src/ability_manager_proxy.cpp index 711564ea9be29a92a1de3f398a6676e90a9c26bc..43c346917888ab3de0d673087b97958a9bcd92c2 100644 --- a/services/abilitymgr/src/ability_manager_proxy.cpp +++ b/services/abilitymgr/src/ability_manager_proxy.cpp @@ -375,7 +375,6 @@ int AbilityManagerProxy::StartAbilityAsCaller(const Want &want, const StartOptio } } else { if (!data.WriteBool(false)) { - HILOG_ERROR("flag write failed."); return INNER_ERR; } } @@ -386,7 +385,6 @@ int AbilityManagerProxy::StartAbilityAsCaller(const Want &want, const StartOptio } } else { if (!data.WriteBool(false)) { - HILOG_ERROR("asCallerSourceToken write failed."); return INNER_ERR; } } diff --git a/services/abilitymgr/src/implicit_start_processor.cpp b/services/abilitymgr/src/implicit_start_processor.cpp index aa635c3190caef50563a4e1507c2b027f0bc102b..14058813805d56a1aae1e362ae59f9904b228248 100644 --- a/services/abilitymgr/src/implicit_start_processor.cpp +++ b/services/abilitymgr/src/implicit_start_processor.cpp @@ -247,7 +247,8 @@ int ImplicitStartProcessor::GenerateAbilityRequestByAction(int32_t userId, bool withDefault = false; withDefault = request.want.GetBoolParam(SHOW_DEFAULT_PICKER_FLAG, withDefault) ? false : true; - if (IPCSkeleton::GetCallingUid() == NFC_CALLER_UID && !request.want.GetStringArrayParam(PARAM_ABILITY_APPINFOS).empty()) { + if (IPCSkeleton::GetCallingUid() == NFC_CALLER_UID && + !request.want.GetStringArrayParam(PARAM_ABILITY_APPINFOS).empty()) { HILOG_INFO("The NFCNeed caller source is NFC."); ImplicitStartProcessor::QueryBmsAppInfos(request, userId, dialogAppInfos); } @@ -318,7 +319,9 @@ int ImplicitStartProcessor::GenerateAbilityRequestByAction(int32_t userId, return ERR_OK; } -int ImplicitStartProcessor::QueryBmsAppInfos(AbilityRequest &request, int32_t userId, std::vector &dialogAppInfos) { +int ImplicitStartProcessor::QueryBmsAppInfos(AbilityRequest &request, int32_t userId, + std::vector &dialogAppInfos) +{ auto bundleMgrHelper = GetBundleManagerHelper(); std::vector bmsApps; auto abilityInfoFlag = AppExecFwk::AbilityInfoFlag::GET_ABILITY_INFO_DEFAULT @@ -357,7 +360,8 @@ int ImplicitStartProcessor::QueryBmsAppInfos(AbilityRequest &request, int32_t us return ERR_OK; } -std::vector ImplicitStartProcessor::SplitStr(const std::string& str, char delimiter) { +std::vector ImplicitStartProcessor::SplitStr(const std::string& str, char delimiter) +{ std::stringstream ss(str); std::vector result; std::string s;