diff --git a/services/reminder/include/reminder_data_manager.h b/services/reminder/include/reminder_data_manager.h index 883a1a4aa74ef0e028454e830e875992c300f28a..99464f9b93093da3f6773450db221be916c51ff2 100644 --- a/services/reminder/include/reminder_data_manager.h +++ b/services/reminder/include/reminder_data_manager.h @@ -684,6 +684,11 @@ private: bool CheckShowLimit(std::unordered_map& limits, int32_t& totalCount, sptr& reminder); + /** + * @brief Collapse the notification panel, send event to sceneboard. + */ + void CollapseNotificationPanel(); + /** * Single instance. */ diff --git a/services/reminder/src/reminder_data_manager.cpp b/services/reminder/src/reminder_data_manager.cpp index 4fd503b932806ab8a8f1fb146e96728d893b8ee6..cbff217335de3f13d371502501c6c92a25fb8c56 100644 --- a/services/reminder/src/reminder_data_manager.cpp +++ b/services/reminder/src/reminder_data_manager.cpp @@ -1936,6 +1936,8 @@ void ReminderDataManager::HandleCustomButtonClick(const OHOS::EventFwk::Want &wa ANSR_LOGE("Start ability failed, result = %{public}d", result); return; } + // Collapse the notification panel + CollapseNotificationPanel(); } void ReminderDataManager::ClickReminder(const OHOS::EventFwk::Want &want) diff --git a/services/reminder/src/reminder_data_manager_inner.cpp b/services/reminder/src/reminder_data_manager_inner.cpp index 0c3f22596837f4f2c670c0d199f48468a3348ab0..b99b634dd66992ef7a1a51a2109b19499631eca8 100644 --- a/services/reminder/src/reminder_data_manager_inner.cpp +++ b/services/reminder/src/reminder_data_manager_inner.cpp @@ -225,5 +225,14 @@ void ReminderDataManager::UpdateShareReminders(const std::map