From bbef0435e966f9736bc8bfb016632440c8ee51d2 Mon Sep 17 00:00:00 2001 From: gaojiaqi Date: Tue, 3 Jun 2025 19:28:55 +0800 Subject: [PATCH] add ring loop param Signed-off-by: gaojiaqi --- frameworks/reminder/src/reminder_request.cpp | 10 ++++++++++ .../test/unittest/reminder_request_test.cpp | 15 +++++++++++++++ interfaces/inner_api/reminder_request.h | 7 +++++++ services/reminder/src/reminder_data_manager.cpp | 2 +- .../reminder/src/reminder_datashare_helper.cpp | 1 + 5 files changed, 34 insertions(+), 1 deletion(-) diff --git a/frameworks/reminder/src/reminder_request.cpp b/frameworks/reminder/src/reminder_request.cpp index 29832cd80..6254c33e4 100644 --- a/frameworks/reminder/src/reminder_request.cpp +++ b/frameworks/reminder/src/reminder_request.cpp @@ -954,6 +954,16 @@ ReminderRequest::RingChannel ReminderRequest::GetRingChannel() const return ringChannel_; } +void ReminderRequest::SetRingLoop(const bool isRingLoop) +{ + isRingLoop_ = isRingLoop; +} + +bool ReminderRequest::IsRingLoop() const +{ + return isRingLoop_; +} + int32_t ReminderRequest::GetUserId() const { return userId_; diff --git a/frameworks/reminder/test/unittest/reminder_request_test.cpp b/frameworks/reminder/test/unittest/reminder_request_test.cpp index 60b27de12..ff0c017af 100644 --- a/frameworks/reminder/test/unittest/reminder_request_test.cpp +++ b/frameworks/reminder/test/unittest/reminder_request_test.cpp @@ -2409,5 +2409,20 @@ HWTEST_F(ReminderRequestTest, ReminderRequestTest_006, Function | SmallTest | Le child.SetRingChannel(ReminderRequest::RingChannel::MEDIA); EXPECT_EQ(child.GetRingChannel(), ReminderRequest::RingChannel::MEDIA); } + +/** + * @tc.name: ReminderRequestTest_007 + * @tc.desc: Test RingLoop parameters. + * @tc.type: FUNC + * @tc.require: issueI8CDH3 + */ +HWTEST_F(ReminderRequestTest, ReminderRequestTest_007, Function | SmallTest | Level1) +{ + ReminderRequestChild child; + child.SetRingLoop(true); + EXPECT_EQ(child.IsRingLoop(), true); + child.SetRingLoop(false); + EXPECT_EQ(child.IsRingLoop(), false); +} } } diff --git a/interfaces/inner_api/reminder_request.h b/interfaces/inner_api/reminder_request.h index e3e414ec4..871350ba7 100644 --- a/interfaces/inner_api/reminder_request.h +++ b/interfaces/inner_api/reminder_request.h @@ -470,6 +470,12 @@ public: void SetRingChannel(const RingChannel channel); RingChannel GetRingChannel() const; + /** + * @brief Set/Get ring loop. + */ + void SetRingLoop(const bool isRingLoop); + bool IsRingLoop() const; + int32_t GetUserId() const; int32_t GetUid() const; @@ -1176,6 +1182,7 @@ private: int32_t uid_ {-1}; bool isSystemApp_ {false}; bool tapDismissed_ {true}; + bool isRingLoop_ {true}; int64_t autoDeletedTime_ {0}; std::string customButtonUri_ {}; std::string customRingUri_ {}; diff --git a/services/reminder/src/reminder_data_manager.cpp b/services/reminder/src/reminder_data_manager.cpp index d458c550c..dfdbdd2c2 100644 --- a/services/reminder/src/reminder_data_manager.cpp +++ b/services/reminder/src/reminder_data_manager.cpp @@ -1644,7 +1644,7 @@ void ReminderDataManager::PlaySoundAndVibration(const sptr &rem (void)format.PutIntValue(Media::PlayerKeys::STREAM_USAGE, STREAM_ALARM); (void)format.PutIntValue(Media::PlayerKeys::RENDERER_FLAG, DEFAULT_VALUE); soundPlayer_->SetParameter(format); - soundPlayer_->SetLooping(true); + soundPlayer_->SetLooping(reminder->IsRingLoop()); soundPlayer_->PrepareAsync(); soundPlayer_->Play(); #endif diff --git a/services/reminder/src/reminder_datashare_helper.cpp b/services/reminder/src/reminder_datashare_helper.cpp index f2b80e605..ed2cd3c7e 100644 --- a/services/reminder/src/reminder_datashare_helper.cpp +++ b/services/reminder/src/reminder_datashare_helper.cpp @@ -430,6 +430,7 @@ std::map> ReminderDataShareHelper::CreateRemi void ReminderDataShareHelper::InitNormalInfo(sptr& reminder) { reminder->SetRingDuration(0); + reminder->SetRingLoop(false); reminder->InitUserId(curUserId_); reminder->InitUid(uid_); reminder->InitCreatorUid(dataUid_); -- Gitee