From cb80e2c5ab25bcc457314ca896cc255d387097a7 Mon Sep 17 00:00:00 2001 From: "zhangyafei.echo" Date: Tue, 26 Apr 2022 16:56:16 +0800 Subject: [PATCH] Description:Add data to OnNewWant Sig:SIG_ApplicationFramework Feature or BugFix: BugFix Binary Source: No Signed-off-by: zhangyafei.echo Change-Id: Ie5f2bc032a40cd295ee9d9901b9af242b929fbff --- adapter/ohos/entrance/ace_ability.cpp | 3 ++- adapter/ohos/entrance/ace_container.cpp | 3 +-- adapter/ohos/entrance/ace_container.h | 2 +- .../declarative_frontend/engine/jsi/jsi_declarative_engine.cpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/adapter/ohos/entrance/ace_ability.cpp b/adapter/ohos/entrance/ace_ability.cpp index 91a5818b..3396d673 100644 --- a/adapter/ohos/entrance/ace_ability.cpp +++ b/adapter/ohos/entrance/ace_ability.cpp @@ -471,7 +471,8 @@ void AceAbility::OnNewWant(const Want& want) Ability::OnNewWant(want); std::string params = want.GetStringParam(START_PARAMS_KEY); Platform::AceContainer::OnNewRequest(abilityId_, params); - Platform::AceContainer::OnNewWant(abilityId_); + std::string data = want.ToString(); + Platform::AceContainer::OnNewWant(abilityId_, data); LOGI("AceAbility::OnNewWant called End"); } diff --git a/adapter/ohos/entrance/ace_container.cpp b/adapter/ohos/entrance/ace_container.cpp index fb25d424..e71ce4b9 100644 --- a/adapter/ohos/entrance/ace_container.cpp +++ b/adapter/ohos/entrance/ace_container.cpp @@ -362,9 +362,8 @@ void AceContainer::OnInactive(int32_t instanceId) }, TaskExecutor::TaskType::UI); } -void AceContainer::OnNewWant(int32_t instanceId) +void AceContainer::OnNewWant(int32_t instanceId, const std::string& data) { - std::string data = ""; auto container = AceEngine::Get().GetContainer(instanceId); if (!container) { LOGE("container is null, OnNewWant failed."); diff --git a/adapter/ohos/entrance/ace_container.h b/adapter/ohos/entrance/ace_container.h index c9fea610..4b6d5102 100644 --- a/adapter/ohos/entrance/ace_container.h +++ b/adapter/ohos/entrance/ace_container.h @@ -226,7 +226,7 @@ public: static void OnHide(int32_t instanceId); static void OnActive(int32_t instanceId); static void OnInactive(int32_t instanceId); - static void OnNewWant(int32_t instanceId); + static void OnNewWant(int32_t instanceId, const std::string& data); static bool OnStartContinuation(int32_t instanceId); static std::string OnSaveData(int32_t instanceId); static bool OnRestoreData(int32_t instanceId, const std::string& data); diff --git a/frameworks/bridge/declarative_frontend/engine/jsi/jsi_declarative_engine.cpp b/frameworks/bridge/declarative_frontend/engine/jsi/jsi_declarative_engine.cpp index bb049ad6..16fd41bc 100644 --- a/frameworks/bridge/declarative_frontend/engine/jsi/jsi_declarative_engine.cpp +++ b/frameworks/bridge/declarative_frontend/engine/jsi/jsi_declarative_engine.cpp @@ -1348,7 +1348,7 @@ void JsiDeclarativeEngine::OnNewWant(const std::string& data) return; } - shared_ptr object = runtime->NewObject(); + shared_ptr object = runtime->ParseJson(data); std::vector> argv = { object }; CallAppFunc("onNewWant", argv); }