From 209bbed9360bf601749cbb3ec3b7455766d66d49 Mon Sep 17 00:00:00 2001 From: 198******03 Date: Fri, 15 Aug 2025 06:53:23 +0000 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9Collaborator=20notifyabil?= =?UTF-8?q?ity=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=8C=87?= =?UTF-8?q?=E5=AE=9Awindowmode=E5=90=AF=E5=8A=A8=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 198******03 <9474311+yzcyz@user.noreply.gitee.com> --- .../include/iability_manager_collaborator.h | 2 +- .../include/ability_manager_collaborator_proxy.h | 2 +- .../abilitymgr/src/ability_manager_collaborator_proxy.cpp | 7 ++++++- .../mock_ability_manager_collaborator.h | 4 ++-- .../ability_manager_collaborator_proxy_test.cpp | 3 ++- .../ability_manager_collaborator_stub_mock.h | 2 +- .../ability_manager_proxy_second_test.cpp | 4 ++-- 7 files changed, 15 insertions(+), 9 deletions(-) diff --git a/interfaces/inner_api/ability_manager/include/iability_manager_collaborator.h b/interfaces/inner_api/ability_manager/include/iability_manager_collaborator.h index 48aac8e5063..cef23d14e3a 100644 --- a/interfaces/inner_api/ability_manager/include/iability_manager_collaborator.h +++ b/interfaces/inner_api/ability_manager/include/iability_manager_collaborator.h @@ -46,7 +46,7 @@ public: * @return 0 when notify start ability success or else failed. */ virtual int32_t NotifyStartAbility(const AppExecFwk::AbilityInfo &abilityInfo, - int32_t userId, Want &want, uint64_t accessTokenIDEx) = 0; + int32_t userId, Want &want, uint64_t accessTokenIDEx, int32_t windowMode) = 0; /** * @brief Notify collaborator to app preload. diff --git a/services/abilitymgr/include/ability_manager_collaborator_proxy.h b/services/abilitymgr/include/ability_manager_collaborator_proxy.h index d3abb0e9a80..b5531e04f47 100644 --- a/services/abilitymgr/include/ability_manager_collaborator_proxy.h +++ b/services/abilitymgr/include/ability_manager_collaborator_proxy.h @@ -36,7 +36,7 @@ public: * @return 0 when notify start ability success or else failed. */ virtual int32_t NotifyStartAbility(const AppExecFwk::AbilityInfo &abilityInfo, - int32_t userId, Want &want, uint64_t accessTokenIDEx) override; + int32_t userId, Want &want, uint64_t accessTokenIDEx, int32_t windowMode) override; /** * @brief Notify collaborator to app preload. diff --git a/services/abilitymgr/src/ability_manager_collaborator_proxy.cpp b/services/abilitymgr/src/ability_manager_collaborator_proxy.cpp index 9a5a5172b0c..25135d0c5ed 100644 --- a/services/abilitymgr/src/ability_manager_collaborator_proxy.cpp +++ b/services/abilitymgr/src/ability_manager_collaborator_proxy.cpp @@ -22,7 +22,8 @@ namespace OHOS { namespace AAFwk { int32_t AbilityManagerCollaboratorProxy::NotifyStartAbility( - const AppExecFwk::AbilityInfo &abilityInfo, int32_t userId, Want &want, uint64_t accessTokenIDEx) + const AppExecFwk::AbilityInfo &abilityInfo, int32_t userId, Want &want, + uint64_t accessTokenIDEx, int32_t windowMode) { MessageParcel data; MessageParcel reply; @@ -49,6 +50,10 @@ int32_t AbilityManagerCollaboratorProxy::NotifyStartAbility( TAG_LOGE(AAFwkTag::ABILITYMGR, "accessTokenIDEx write fail"); return ERR_INVALID_OPERATION; } + if (!data.WriteInt32(windowMode)) { + TAG_LOGE(AAFwkTag::ABILITYMGR, "windowMode write fail"); + return ERR_INVALID_OPERATION; + } int32_t ret = SendTransactCmd(IAbilityManagerCollaborator::NOTIFY_START_ABILITY, data, reply, option); if (ret != NO_ERROR) { TAG_LOGE(AAFwkTag::ABILITYMGR, "request error:%{public}d", ret); diff --git a/test/mock/ability_manager_collaborator/mock_ability_manager_collaborator.h b/test/mock/ability_manager_collaborator/mock_ability_manager_collaborator.h index 8120f6c1e04..e06300cbbf9 100644 --- a/test/mock/ability_manager_collaborator/mock_ability_manager_collaborator.h +++ b/test/mock/ability_manager_collaborator/mock_ability_manager_collaborator.h @@ -23,8 +23,8 @@ namespace OHOS { namespace AAFwk { class MockAbilityManagerCollaborator : public IAbilityManagerCollaborator { public: - MOCK_METHOD4(NotifyStartAbility, int32_t(const AppExecFwk::AbilityInfo &abilityInfo, - int32_t userId, Want &want, uint64_t accessTokenIDEx)); + MOCK_METHOD5(NotifyStartAbility, int32_t(const AppExecFwk::AbilityInfo &abilityInfo, + int32_t userId, Want &want, uint64_t accessTokenIDEx, int32_t windowMode)); MOCK_METHOD1(NotifyPreloadAbility, int32_t(const std::string &bundleName)); MOCK_METHOD2(NotifyMissionCreated, int32_t(int32_t missionId, const Want &want)); MOCK_METHOD1(NotifyMissionCreated, int32_t(const sptr &sessionInfo)); diff --git a/test/unittest/ability_manager_collaborator_proxy_test/ability_manager_collaborator_proxy_test.cpp b/test/unittest/ability_manager_collaborator_proxy_test/ability_manager_collaborator_proxy_test.cpp index fe484ade212..5fa45a1f586 100644 --- a/test/unittest/ability_manager_collaborator_proxy_test/ability_manager_collaborator_proxy_test.cpp +++ b/test/unittest/ability_manager_collaborator_proxy_test/ability_manager_collaborator_proxy_test.cpp @@ -66,7 +66,8 @@ HWTEST_F(AbilityManagerCollaboratorProxyTest, NotifyStartAbility_0100, TestSize. Want want; int32_t userId = 0; uint64_t accessTokenIDEx = 0; - int32_t res = proxy_->NotifyStartAbility(info, userId, want, accessTokenIDEx); + int32_t windowMode = 0; + int32_t res = proxy_->NotifyStartAbility(info, userId, want, accessTokenIDEx, windowMode); EXPECT_EQ(res, ERR_INVALID_OPERATION); EXPECT_EQ(static_cast(IAbilityManagerCollaborator::NOTIFY_START_ABILITY), mock_->GetCode()); } diff --git a/test/unittest/ability_manager_collaborator_proxy_test/ability_manager_collaborator_stub_mock.h b/test/unittest/ability_manager_collaborator_proxy_test/ability_manager_collaborator_stub_mock.h index 807544f1991..d53752bf541 100644 --- a/test/unittest/ability_manager_collaborator_proxy_test/ability_manager_collaborator_stub_mock.h +++ b/test/unittest/ability_manager_collaborator_proxy_test/ability_manager_collaborator_stub_mock.h @@ -32,7 +32,7 @@ public: {} int32_t NotifyStartAbility(const AppExecFwk::AbilityInfo &abilityInfo, - int32_t userId, Want &want, uint64_t accessTokenIDEx) override + int32_t userId, Want &want, uint64_t accessTokenIDEx, int32_t windowMode) override { return 0; } diff --git a/test/unittest/ability_manager_proxy_second_test/ability_manager_proxy_second_test.cpp b/test/unittest/ability_manager_proxy_second_test/ability_manager_proxy_second_test.cpp index a57aac78d16..4e0a6436662 100644 --- a/test/unittest/ability_manager_proxy_second_test/ability_manager_proxy_second_test.cpp +++ b/test/unittest/ability_manager_proxy_second_test/ability_manager_proxy_second_test.cpp @@ -84,8 +84,8 @@ public: class MockAbilityManagerCollaborator : public IAbilityManagerCollaborator { public: - MOCK_METHOD4(NotifyStartAbility, int32_t(const AppExecFwk::AbilityInfo &abilityInfo, - int32_t userId, Want &want, uint64_t accessTokenIDEx)); + MOCK_METHOD5(NotifyStartAbility, int32_t(const AppExecFwk::AbilityInfo &abilityInfo, + int32_t userId, Want &want, uint64_t accessTokenIDEx, int32_t windowMode)); MOCK_METHOD1(NotifyPreloadAbility, int32_t(const std::string &bundleName)); MOCK_METHOD2(NotifyMissionCreated, int32_t(int32_t missionId, const Want &want)); MOCK_METHOD1(NotifyMissionCreated, int32_t(const sptr &sessionInfo)); -- Gitee From 7a5f03ddbd338da4cba4b7f4c5417b90adf8dad7 Mon Sep 17 00:00:00 2001 From: 198******03 Date: Fri, 15 Aug 2025 07:07:49 +0000 Subject: [PATCH 2/2] =?UTF-8?q?Collaborator=20notifyability=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=8C=87=E5=AE=9Awindowmode=E5=90=AF=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 198******03 --- services/abilitymgr/src/ability_manager_collaborator_proxy.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/abilitymgr/src/ability_manager_collaborator_proxy.cpp b/services/abilitymgr/src/ability_manager_collaborator_proxy.cpp index 25135d0c5ed..de02ddb19fb 100644 --- a/services/abilitymgr/src/ability_manager_collaborator_proxy.cpp +++ b/services/abilitymgr/src/ability_manager_collaborator_proxy.cpp @@ -51,7 +51,7 @@ int32_t AbilityManagerCollaboratorProxy::NotifyStartAbility( return ERR_INVALID_OPERATION; } if (!data.WriteInt32(windowMode)) { - TAG_LOGE(AAFwkTag::ABILITYMGR, "windowMode write fail"); + TAG_LOGE(AAFwkTag::ABILITYMGR, "windowMode write fail."); return ERR_INVALID_OPERATION; } int32_t ret = SendTransactCmd(IAbilityManagerCollaborator::NOTIFY_START_ABILITY, data, reply, option); -- Gitee