From 380308d9ebd94e9e8995998937645ac81d257740 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=88=E7=9A=93=E6=9D=B0?= Date: Thu, 24 Oct 2024 10:49:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=9E=E9=80=80=E5=A2=9E=E5=8A=A0=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 师皓杰 --- .../include/continue/dsched_continue.h | 8 ++++---- .../include/continue/dsched_continue_event.h | 4 ++-- .../src/continue/dsched_continue.cpp | 14 +++++++------- .../src/continue/dsched_continue_event.cpp | 17 ++++------------- .../dsched_continue_source_start_state.cpp | 2 +- .../unittest/continue/dsched_continue_test.cpp | 6 +++--- .../mission/dms_mission_manager_test.cpp | 2 ++ 7 files changed, 23 insertions(+), 30 deletions(-) diff --git a/services/dtbschedmgr/include/continue/dsched_continue.h b/services/dtbschedmgr/include/continue/dsched_continue.h index 99661114..2c64757e 100644 --- a/services/dtbschedmgr/include/continue/dsched_continue.h +++ b/services/dtbschedmgr/include/continue/dsched_continue.h @@ -142,7 +142,7 @@ private: int32_t PostStartTask(const OHOS::AAFwk::WantParams& wantParams); int32_t PostReplyTask(std::shared_ptr cmd); - int32_t PostCotinueAbilityTask(uint32_t appVersion); + int32_t PostCotinueAbilityTask(int32_t appVersion); int32_t PostContinueSendTask(const OHOS::AAFwk::Want& want, int32_t callerUid, int32_t status, uint32_t accessToken); int32_t PostContinueDataTask(std::shared_ptr cmd); @@ -150,7 +150,7 @@ private: int32_t PostContinueEndTask(int32_t result); int32_t ExecuteContinueReq(std::shared_ptr wantParams); - int32_t ExecuteContinueAbility(uint32_t appVersion); + int32_t ExecuteContinueAbility(int32_t appVersion); int32_t ExecuteContinueReply(); int32_t ExecuteContinueSend(std::shared_ptr data); int32_t ExecuteContinueData(std::shared_ptr cmd); @@ -159,7 +159,7 @@ private: int32_t ExecuteContinueError(int32_t result); int32_t OnContinueMission(const OHOS::AAFwk::WantParams& wantParams); - int32_t OnStartCmd(uint32_t appVersion); + int32_t OnStartCmd(int32_t appVersion); int32_t OnReplyCmd(std::shared_ptr cmd); int32_t OnStartContinuation(const OHOS::AAFwk::Want& want, int32_t callerUid, int32_t status, uint32_t accessToken); @@ -182,7 +182,7 @@ private: const AccountInfo& accountInfo); int32_t CheckStartPermission(std::shared_ptr cmd); int32_t PackEndCmd(std::shared_ptr cmd, int32_t result); - int32_t PackReplyCmd(std::shared_ptr cmd, int32_t replyCmd, uint32_t appVersion, + int32_t PackReplyCmd(std::shared_ptr cmd, int32_t replyCmd, int32_t appVersion, int32_t result, const std::string reason); int32_t SendCommand(std::shared_ptr cmd); diff --git a/services/dtbschedmgr/include/continue/dsched_continue_event.h b/services/dtbschedmgr/include/continue/dsched_continue_event.h index 607a739f..e81d2793 100644 --- a/services/dtbschedmgr/include/continue/dsched_continue_event.h +++ b/services/dtbschedmgr/include/continue/dsched_continue_event.h @@ -78,7 +78,7 @@ public: public: int32_t direction_ = 0; - uint32_t appVersion_ = 0; + int32_t appVersion_ = 0; DistributedWantParams wantParams_; }; @@ -112,7 +112,7 @@ public: public: int32_t replyCmd_ = 0; - uint32_t appVersion_ = 0; + int32_t appVersion_ = 0; int32_t result_ = 0; std::string reason_; }; diff --git a/services/dtbschedmgr/src/continue/dsched_continue.cpp b/services/dtbschedmgr/src/continue/dsched_continue.cpp index 56a76547..2259432d 100644 --- a/services/dtbschedmgr/src/continue/dsched_continue.cpp +++ b/services/dtbschedmgr/src/continue/dsched_continue.cpp @@ -264,13 +264,13 @@ int32_t DSchedContinue::PostStartTask(const OHOS::AAFwk::WantParams& wantParams) return ERR_OK; } -int32_t DSchedContinue::OnStartCmd(uint32_t appVersion) +int32_t DSchedContinue::OnStartCmd(int32_t appVersion) { HILOGI("called"); return PostCotinueAbilityTask(appVersion); } -int32_t DSchedContinue::PostCotinueAbilityTask(uint32_t appVersion) +int32_t DSchedContinue::PostCotinueAbilityTask(int32_t appVersion) { DSchedContinueEventType eventType = DSHCED_CONTINUE_ABILITY_EVENT; HILOGI("PostCotinueAbilityTask %{public}d, continueInfo %{public}s", eventType, @@ -279,7 +279,7 @@ int32_t DSchedContinue::PostCotinueAbilityTask(uint32_t appVersion) HILOGE("PostCotinueAbilityTask eventHandler is nullptr"); return INVALID_PARAMETERS_ERR; } - auto data = std::make_shared(appVersion); + auto data = std::make_shared(appVersion); auto msgEvent = AppExecFwk::InnerEvent::Get(eventType, data, 0); if (!eventHandler_->SendEvent(msgEvent, 0, AppExecFwk::EventQueue::Priority::IMMEDIATE)) { HILOGE("PostCotinueAbilityTask eventHandler send event type %{public}d fail", eventType); @@ -652,15 +652,15 @@ int32_t DSchedContinue::PackStartCmd(std::shared_ptr& cm HILOGE("pack start cmd failed, the bundle is not installed on local device."); return ret; } - cmd->appVersion_ = localBundleInfo.versionCode; + cmd->appVersion_ = static_cast(localBundleInfo.versionCode); } cmd->wantParams_ = *wantParams; return ERR_OK; } -int32_t DSchedContinue::ExecuteContinueAbility(uint32_t appVersion) +int32_t DSchedContinue::ExecuteContinueAbility(int32_t appVersion) { - HILOGI("ExecuteContinueAbility start, appVersion: %{public}u", appVersion); + HILOGI("ExecuteContinueAbility start, appVersion: %{public}d", appVersion); DmsRadar::GetInstance().SaveDataDmsContinue("ContinueAbility", ERR_OK); int32_t result = GetMissionIdByBundleName(); @@ -1071,7 +1071,7 @@ int32_t DSchedContinue::ExecuteNotifyComplete(int32_t result) return ERR_OK; } -int32_t DSchedContinue::PackReplyCmd(std::shared_ptr cmd, int32_t replyCmd, uint32_t appVersion, +int32_t DSchedContinue::PackReplyCmd(std::shared_ptr cmd, int32_t replyCmd, int32_t appVersion, int32_t result, const std::string reason) { if (cmd == nullptr) { diff --git a/services/dtbschedmgr/src/continue/dsched_continue_event.cpp b/services/dtbschedmgr/src/continue/dsched_continue_event.cpp index 8ea31369..a3a163c7 100644 --- a/services/dtbschedmgr/src/continue/dsched_continue_event.cpp +++ b/services/dtbschedmgr/src/continue/dsched_continue_event.cpp @@ -177,12 +177,11 @@ int32_t DSchedContinueStartCmd::Unmarshal(const std::string &jsonStr) direction_ = direction->valueint; cJSON *appVersion = cJSON_GetObjectItemCaseSensitive(rootValue, "AppVersion"); - if (appVersion == nullptr || !cJSON_IsNumber(appVersion) || appVersion->valueint < 0 || - appVersion->valueint > UINT32_MAX) { + if (appVersion == nullptr || !cJSON_IsNumber(appVersion)) { cJSON_Delete(rootValue); return INVALID_PARAMETERS_ERR; } - appVersion_ = static_cast(appVersion->valueint); + appVersion_ = appVersion->valueint; cJSON *wantParams = cJSON_GetObjectItemCaseSensitive(rootValue, "WantParams"); if (wantParams == nullptr || !cJSON_IsString(wantParams) || (wantParams->valuestring == nullptr)) { @@ -654,10 +653,10 @@ int32_t DSchedContinueReplyCmd::Unmarshal(const std::string &jsonStr) } const char *numKeys[] = { - "ReplyCmd", "Result" + "ReplyCmd", "AppVersion", "Result" }; int32_t *numValues[] = { - &replyCmd_, &result_ + &replyCmd_, &appVersion_, &result_ }; int32_t numLength = sizeof(numKeys) / sizeof(numKeys[0]); for (int32_t i = 0; i < numLength; i++) { @@ -669,14 +668,6 @@ int32_t DSchedContinueReplyCmd::Unmarshal(const std::string &jsonStr) *numValues[i] = item->valueint; } - cJSON *appVersion = cJSON_GetObjectItemCaseSensitive(rootValue, "AppVersion"); - if (appVersion == nullptr || !cJSON_IsNumber(appVersion) || appVersion->valueint < 0 || - appVersion->valueint > UINT32_MAX) { - cJSON_Delete(rootValue); - return INVALID_PARAMETERS_ERR; - } - appVersion_ = static_cast(appVersion->valueint); - cJSON *reason = cJSON_GetObjectItemCaseSensitive(rootValue, "Reason"); if (reason == nullptr || !cJSON_IsString(reason) || (reason->valuestring == nullptr)) { cJSON_Delete(rootValue); diff --git a/services/dtbschedmgr/src/continue/state/source_state/dsched_continue_source_start_state.cpp b/services/dtbschedmgr/src/continue/state/source_state/dsched_continue_source_start_state.cpp index 3e73bde4..a11af688 100644 --- a/services/dtbschedmgr/src/continue/state/source_state/dsched_continue_source_start_state.cpp +++ b/services/dtbschedmgr/src/continue/state/source_state/dsched_continue_source_start_state.cpp @@ -86,7 +86,7 @@ int32_t DSchedContinueSourceStartState::DoContinueAbilityTask(std::shared_ptrGetSharedObject(); + auto syncContinueData = event->GetSharedObject(); int32_t ret = dContinue->ExecuteContinueAbility(*syncContinueData); if (ret != ERR_OK) { HILOGE("DSchedContinueSourceStartState ExecuteContinueAbility failed, ret: %{public}d", ret); diff --git a/services/dtbschedmgr/test/unittest/continue/dsched_continue_test.cpp b/services/dtbschedmgr/test/unittest/continue/dsched_continue_test.cpp index f30053b8..0eee55cf 100644 --- a/services/dtbschedmgr/test/unittest/continue/dsched_continue_test.cpp +++ b/services/dtbschedmgr/test/unittest/continue/dsched_continue_test.cpp @@ -107,7 +107,7 @@ HWTEST_F(DSchedContinueTest, DSchedContinueTest_002_1, TestSize.Level0) int32_t subType = CONTINUE_PULL; int32_t direction = CONTINUE_SINK; sptr callback = nullptr; - uint32_t appVersion = 0; + int32_t appVersion = 0; auto info = DSchedContinueInfo(deviceId, bundleName, deviceId, bundleName, ""); auto conti = std::make_shared(subType, direction, callback, info); @@ -411,7 +411,7 @@ HWTEST_F(DSchedContinueTest, DSchedContinueTest_0010_1, TestSize.Level0) auto conti = std::make_shared(subType, direction, callback, info); conti->Init(); - uint32_t appVersion = 0; + int32_t appVersion = 0; int32_t ret = conti->ExecuteContinueAbility(appVersion); EXPECT_NE(ret, ERR_OK); DTEST_LOG << "DSchedContinueTest DSchedContinueTest_0010_1 end ret:" << ret << std::endl; @@ -649,7 +649,7 @@ HWTEST_F(DSchedContinueTest, DSchedContinueTest_0019_1, TestSize.Level0) auto cmd = std::make_shared(); int32_t replyCmd = 0; - uint32_t appVersion = 0; + int32_t appVersion = 0; int32_t result = 0; int32_t ret = conti->PackReplyCmd(cmd, replyCmd, appVersion, result, ""); diff --git a/services/dtbschedmgr/test/unittest/mission/dms_mission_manager_test.cpp b/services/dtbschedmgr/test/unittest/mission/dms_mission_manager_test.cpp index fe5d7b70..cb14e1d4 100644 --- a/services/dtbschedmgr/test/unittest/mission/dms_mission_manager_test.cpp +++ b/services/dtbschedmgr/test/unittest/mission/dms_mission_manager_test.cpp @@ -1287,6 +1287,7 @@ HWTEST_F(DMSMissionManagerTest, testNotifyMissionSnapshotChanged001, TestSize.Le { DTEST_LOG << "testNotifyMissionSnapshotChanged001 begin" << std::endl; DistributedSchedMissionManager::GetInstance().Init(); + EXPECT_CALL(*mockDmsAdapter, GetLocalMissionSnapshotInfo(_, _, _)).WillOnce(Return(true)); DistributedSchedMissionManager::GetInstance().NotifyMissionSnapshotChanged(1); EXPECT_NE(DistributedSchedMissionManager::GetInstance().missionChangeHandler_, nullptr); DTEST_LOG << "testNotifyMissionSnapshotChanged001 end" << std::endl; @@ -2310,6 +2311,7 @@ HWTEST_F(DMSMissionManagerTest, testStartSyncMissionsFromRemote002, TestSize.Lev DistributedSchedMissionManager::GetInstance().missonChangeListener_ = new DistributedMissionChangeListener(); DistributedSchedMissionManager::GetInstance().GenerateCallerInfo(callerInfo); DistributedSchedMissionManager::GetInstance().isRegMissionChange_ = true; + EXPECT_CALL(*mockDmsAdapter, GetLocalMissionSnapshotInfo(_, _, _)).WillOnce(Return(true)); auto ret = DistributedSchedMissionManager::GetInstance().StartSyncMissionsFromRemote(callerInfo, missionInfos); EXPECT_EQ(ret, ERR_NONE); DTEST_LOG << "testStartSyncMissionsFromRemote002 end" << std::endl;