From e5bd1063810d0d6eba2c1a31914fe298eee4b4d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Tue, 23 Apr 2024 20:32:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B94.0-=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=20Signed-off-by:=20=E9=82=B9=E5=8F=8B?= =?UTF-8?q?=E6=9D=BE=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/engine/include/update_notify.h | 3 +- services/engine/src/update_notify.cpp | 90 ++++++------------------- 2 files changed, 21 insertions(+), 72 deletions(-) diff --git a/services/engine/include/update_notify.h b/services/engine/include/update_notify.h index 7866eae4..a89c70b3 100644 --- a/services/engine/include/update_notify.h +++ b/services/engine/include/update_notify.h @@ -30,7 +30,7 @@ namespace OHOS { namespace UpdateEngine { class UpdateNotify : public NoConstructor { public: - static void NotifyToAppService(const std::string &eventInfo, const std::string &subscribeInfo); + static bool NotifyToAppService(const std::string &eventInfo, const std::string &subscribeInfo); private: static ErrCode ConnectAbility(const AAFwk::Want &want, const sptr &connect, @@ -40,7 +40,6 @@ private: static ErrCode StartAbility(const AAFwk::Want &want); static AAFwk::Want MakeWant(const std::string &deviceId, const std::string &abilityName, const std::string &bundleName, const std::string &subscribeInfo, const std::string ¶ms = {}); - static bool InitAbilityManagerService(); }; class NotifyConnection : public AAFwk::AbilityConnectionStub { diff --git a/services/engine/src/update_notify.cpp b/services/engine/src/update_notify.cpp index bef0a1b2..98a66040 100644 --- a/services/engine/src/update_notify.cpp +++ b/services/engine/src/update_notify.cpp @@ -20,117 +20,67 @@ #include "update_helper.h" #include "update_log.h" -using namespace OHOS; -using namespace OHOS::AAFwk; -using namespace OHOS::AppExecFwk; -using namespace std; - namespace OHOS { namespace UpdateEngine { -static sptr g_abilityMgr; - -bool UpdateNotify::InitAbilityManagerService() -{ - if (g_abilityMgr != nullptr) { - return true; - } - sptr systemAbilityManager = - SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); - if (systemAbilityManager == nullptr) { - ENGINE_LOGE("Failed to get system ability mgr."); - return false; - } - sptr remoteObject = systemAbilityManager->GetSystemAbility(ABILITY_MGR_SERVICE_ID); - if (remoteObject == nullptr) { - ENGINE_LOGE("Failed to get ability manager service."); - return false; - } - g_abilityMgr = iface_cast(remoteObject); - if ((g_abilityMgr == nullptr) || (g_abilityMgr->AsObject() == nullptr)) { - ENGINE_LOGE("Failed to get system ability manager services ability"); - return false; - } - return true; -} - -ErrCode UpdateNotify::StartAbility(const Want &want) +ErrCode UpdateNotify::StartAbility(const AAFwk::Want &want) { - if (!InitAbilityManagerService()) { - ENGINE_LOGE("failed to get ability manager service"); - return OHOS::ERR_INVALID_VALUE; - } - ErrCode result = g_abilityMgr->StartAbility(want); + ErrCode result = AAFwk::AbilityManagerClient::GetInstance()->StartAbility(want); ENGINE_LOGI("StartAbility result %{public}d", result); return result; } -ErrCode UpdateNotify::StopServiceAbility(const Want &want) +ErrCode UpdateNotify::StopServiceAbility(const AAFwk::Want &want) { - if (!InitAbilityManagerService()) { - ENGINE_LOGE("failed to get ability manager service"); - return OHOS::ERR_INVALID_VALUE; - } - ErrCode result = g_abilityMgr->StopServiceAbility(want); + ErrCode result = AAFwk::AbilityManagerClient::GetInstance()->StopServiceAbility(want); ENGINE_LOGI("StopServiceAbility result %{public}d", result); return result; } -ErrCode UpdateNotify::ConnectAbility(const Want &want, const sptr &connect, +ErrCode UpdateNotify::ConnectAbility(const AAFwk::Want &want, const sptr &connect, const sptr &callerToken) { - if (!InitAbilityManagerService()) { - ENGINE_LOGE("failed to get ability manager service"); - return OHOS::ERR_INVALID_VALUE; - } - ErrCode result = g_abilityMgr->ConnectAbility(want, connect, callerToken); + ErrCode result = AAFwk::AbilityManagerClient::GetInstance()->ConnectAbility(want, connect, callerToken); ENGINE_LOGI("ConnectAbility result %{public}d", result); return result; } -ErrCode UpdateNotify::DisconnectAbility(const sptr &connect) +ErrCode UpdateNotify::DisconnectAbility(const sptr &connect) { - if (!InitAbilityManagerService()) { - ENGINE_LOGE("failed to get ability manager service"); - return OHOS::ERR_INVALID_VALUE; - } - ErrCode result = g_abilityMgr->DisconnectAbility(connect); + ErrCode result = AAFwk::AbilityManagerClient::GetInstance()->DisconnectAbility(connect); ENGINE_LOGI("DisconnectAbility result %{public}d", result); return result; } -Want UpdateNotify::MakeWant(const std::string &deviceId, const std::string &abilityName, const std::string &bundleName, - const std::string &subscribeInfo, const std::string ¶ms) +AAFwk::Want UpdateNotify::MakeWant(const std::string &deviceId, const std::string &abilityName, + const std::string &bundleName, const std::string &subscribeInfo, const std::string ¶ms) { - ElementName element(deviceId, bundleName, abilityName); - Want want; + AppExecFwk::ElementName element(deviceId, bundleName, abilityName); + AAFwk::Want want; want.SetElement(element); want.SetParam("EventInfo", params); want.SetParam("SubscribeInfo", subscribeInfo); return want; } -void UpdateNotify::NotifyToAppService(const std::string &eventInfo, const std::string &subscribeInfo) +bool UpdateNotify::NotifyToAppService(const std::string &eventInfo, const std::string &subscribeInfo) { if (eventInfo.empty()) { ENGINE_LOGE("NotifyToAppService eventInfo error."); - return; - } - string bundleName = OUC_PACKAGE_NAME; - string abilityName = OUC_SERVICE_EXT_ABILITY_NAME; - Want want = MakeWant("", abilityName, bundleName, subscribeInfo, eventInfo); - ErrCode result = StartAbility(want); - if (result != OHOS::ERR_OK) { - ENGINE_LOGE("NotifyToAppService fail."); + return false; } + std::string bundleName = OUC_PACKAGE_NAME; + std::string abilityName = OUC_SERVICE_EXT_ABILITY_NAME; + AAFwk::Want want = MakeWant("", abilityName, bundleName, subscribeInfo, eventInfo); + return StartAbility(want) == OHOS::ERR_OK; } -void NotifyConnection::OnAbilityConnectDone(const ElementName &element, +void NotifyConnection::OnAbilityConnectDone(const AppExecFwk::ElementName &element, const sptr &remoteObject, int32_t resultCode) { ENGINE_LOGI("OnAbilityConnectDone successfully. result %{public}d", resultCode); } -void NotifyConnection::OnAbilityDisconnectDone(const ElementName &element, int resultCode) +void NotifyConnection::OnAbilityDisconnectDone(const AppExecFwk::ElementName &element, int resultCode) { ENGINE_LOGI("OnAbilityDisconnectDone successfully. result %{public}d", resultCode); } -- Gitee