From 2481a9b7bca7f3a61d18fb1aba419a7aa2781c28 Mon Sep 17 00:00:00 2001 From: fangjinliang1 Date: Wed, 12 Jan 2022 17:40:47 +0800 Subject: [PATCH] fixed 8c39c48 from https://gitee.com/fangJinliang1/notification_ans_standard/pulls/129 Support multiple users Signed-off-by: fangjinliang1 Change-Id: I9dd27d36fdab7d405d6748cff765cbcfffaa7e03 --- services/ans/src/advanced_notification_service.cpp | 1 - services/ans/src/notification_subscriber_manager.cpp | 8 +++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/services/ans/src/advanced_notification_service.cpp b/services/ans/src/advanced_notification_service.cpp index 2110f89f6..f936f4655 100644 --- a/services/ans/src/advanced_notification_service.cpp +++ b/services/ans/src/advanced_notification_service.cpp @@ -162,7 +162,6 @@ inline ErrCode PrepereNotificationRequest(const sptr &reque int userId = SUBSCRIBE_USER_INIT; OHOS::AccountSA::OsAccountManager::GetOsAccountLocalIdFromUid(uid, userId); request->SetCreatorUserId(userId); - ErrCode result = CheckPictureSize(request); return result; diff --git a/services/ans/src/notification_subscriber_manager.cpp b/services/ans/src/notification_subscriber_manager.cpp index 9b7d7e247..8485bea32 100644 --- a/services/ans/src/notification_subscriber_manager.cpp +++ b/services/ans/src/notification_subscriber_manager.cpp @@ -99,6 +99,7 @@ void NotificationSubscriberManager::NotifyConsumed( ANS_LOGE("handler is nullptr"); return; } + AppExecFwk::EventHandler::Callback NotifyConsumedFunc = std::bind(&NotificationSubscriberManager::NotifyConsumedInner, this, notification, notificationMap); @@ -205,6 +206,9 @@ void NotificationSubscriberManager::AddRecordInfo( record->subscribedAll = false; } record->userId = subscribeInfo->GetAppUserId(); + if (record->userId == SUBSCRIBE_USER_INIT) { + record->userId = SUBSCRIBE_USER_ALL; + } } else { record->bundleList_.clear(); record->subscribedAll = true; @@ -232,7 +236,6 @@ ErrCode NotificationSubscriberManager::AddSubscriberInner( const sptr &subscriber, const sptr &subscribeInfo) { std::shared_ptr record = FindSubscriberRecord(subscriber); - if (record == nullptr) { record = CreateSubscriberRecord(subscriber); if (record == nullptr) { @@ -281,10 +284,9 @@ void NotificationSubscriberManager::NotifyConsumedInner( { for (auto record : subscriberRecordList_) { 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 || record->userId == SUBSCRIBE_USER_ALL)) { record->subscriber->OnConsumed(notification, notificationMap); record->subscriber->OnConsumed(notification); } -- Gitee