From 7c268e48a6bd577217b12ca1e3250256d8c80805 Mon Sep 17 00:00:00 2001 From: fangJinliang1 Date: Mon, 14 Feb 2022 19:49:48 +0800 Subject: [PATCH 1/2] cancel notification modify Signed-off-by: fangJinliang1 Change-Id: I56c4af027eb66423b93cc76fd2338a5a2856e3ba --- services/ans/src/notification_subscriber_manager.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/services/ans/src/notification_subscriber_manager.cpp b/services/ans/src/notification_subscriber_manager.cpp index a016d6f6a..1714bc8bd 100644 --- a/services/ans/src/notification_subscriber_manager.cpp +++ b/services/ans/src/notification_subscriber_manager.cpp @@ -298,11 +298,15 @@ ErrCode NotificationSubscriberManager::RemoveSubscriberInner( void NotificationSubscriberManager::NotifyConsumedInner( const sptr ¬ification, const sptr ¬ificationMap) { - ANS_LOGD("%{public}s notification->GetUserId <%{public}d>", __FUNCTION__, notification->GetUserId()); + ANS_LOGD("%{public}s notification->GetUserId <%{public}d>", __FUNCTION__, notification->GetUserId()); + int32_t recvUserId = notification->GetNotificationRequest().GetReceiverUserId(); for (auto record : subscriberRecordList_) { ANS_LOGD("%{public}s record->userId = <%{public}d>", __FUNCTION__, record->userId); +<<<<<<< HEAD int32_t recvUserId = notification->GetNotificationRequest().GetReceiverUserId(); +======= +>>>>>>> cancel notification modify auto BundleNames = notification->GetBundleName(); auto iter = std::find(record->bundleList_.begin(), record->bundleList_.end(), BundleNames); if (!record->subscribedAll == (iter != record->bundleList_.end()) && @@ -320,12 +324,16 @@ void NotificationSubscriberManager::NotifyCanceledInner( const sptr ¬ification, const sptr ¬ificationMap, int deleteReason) { ANS_LOGD("%{public}s notification->GetUserId <%{public}d>", __FUNCTION__, notification->GetUserId()); + int32_t recvUserId = notification->GetNotificationRequest().GetReceiverUserId(); for (auto record : subscriberRecordList_) { ANS_LOGD("%{public}s record->userId = <%{public}d>", __FUNCTION__, record->userId); auto BundleNames = notification->GetBundleName(); auto iter = std::find(record->bundleList_.begin(), record->bundleList_.end(), BundleNames); if (!record->subscribedAll == (iter != record->bundleList_.end()) && - (notification->GetUserId() == record->userId || notification->GetUserId() == SUBSCRIBE_USER_ALL)) { + (notification->GetUserId() == record->userId || + notification->GetUserId() == SUBSCRIBE_USER_ALL || + recvUserId == record->userId || + IsSystemUser(record->userId))) { record->subscriber->OnCanceled(notification, notificationMap, deleteReason); record->subscriber->OnCanceled(notification); } -- Gitee From 8eaf605ed1e22746efea6eda507a0dd9b9e60acd Mon Sep 17 00:00:00 2001 From: fangJinliang1 Date: Mon, 14 Feb 2022 21:15:05 +0800 Subject: [PATCH 2/2] cancel notification modify Signed-off-by: fangJinliang1 Change-Id: I1cf8405da0f6521bb404a8bd13d7e361355a3b98 --- services/ans/src/notification_subscriber_manager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/ans/src/notification_subscriber_manager.cpp b/services/ans/src/notification_subscriber_manager.cpp index 1714bc8bd..4c02bc404 100644 --- a/services/ans/src/notification_subscriber_manager.cpp +++ b/services/ans/src/notification_subscriber_manager.cpp @@ -298,7 +298,7 @@ ErrCode NotificationSubscriberManager::RemoveSubscriberInner( void NotificationSubscriberManager::NotifyConsumedInner( const sptr ¬ification, const sptr ¬ificationMap) { - ANS_LOGD("%{public}s notification->GetUserId <%{public}d>", __FUNCTION__, notification->GetUserId()); + ANS_LOGD("%{public}s notification->GetUserId <%{public}d>", __FUNCTION__, notification->GetUserId()); int32_t recvUserId = notification->GetNotificationRequest().GetReceiverUserId(); for (auto record : subscriberRecordList_) { ANS_LOGD("%{public}s record->userId = <%{public}d>", __FUNCTION__, record->userId); -- Gitee