diff --git a/services/ans/src/advanced_notification_service.cpp b/services/ans/src/advanced_notification_service.cpp index 2110f89f60f485a506c4aeab2ce5893e69bf1cbc..61d3615bc35f6c28f6a3621a1c5a6fde109b125a 100644 --- a/services/ans/src/advanced_notification_service.cpp +++ b/services/ans/src/advanced_notification_service.cpp @@ -289,6 +289,7 @@ ErrCode AdvancedNotificationService::PublishPreparedNotification( } UpdateRecentNotification(record->notification, false, 0); sptr sortingMap = GenerateSortingMap(); + ANS_LOGE(">>>>>>1 PublishPreparedNotification2"); NotificationSubscriberManager::GetInstance()->NotifyConsumed(record->notification, sortingMap); })); return result; diff --git a/services/ans/src/notification_subscriber_manager.cpp b/services/ans/src/notification_subscriber_manager.cpp index 9b7d7e247ba140c87935c91320430082e4a1d2f3..469bfb024d9aa08c0a649395bf8070c45fb4913b 100644 --- a/services/ans/src/notification_subscriber_manager.cpp +++ b/services/ans/src/notification_subscriber_manager.cpp @@ -56,6 +56,7 @@ ErrCode NotificationSubscriberManager::AddSubscriber( return ERR_ANS_INVALID_PARAM; } + ANS_LOGE(">>>>>>2 AddSubscriber"); sptr subInfo = subscribeInfo; if (subInfo == nullptr) { subInfo = new (std::nothrow) NotificationSubscribeInfo(); @@ -66,8 +67,11 @@ ErrCode NotificationSubscriberManager::AddSubscriber( int userId = SUBSCRIBE_USER_ALL; subInfo->AddAppUserId(userId); + ANS_LOGE(">>>>>>3 AddSubscriber2"); + //ANS_LOGI(">>>>>>AddSubscriber2, userid = %{public}d", userId); } + ANS_LOGE(">>>>>>4 AddSubscriber3"); ErrCode result = ERR_ANS_TASK_ERR; handler_->PostSyncTask(std::bind([this, &subscriber, &subInfo, &result]() { result = this->AddSubscriberInner(subscriber, subInfo); @@ -99,6 +103,7 @@ void NotificationSubscriberManager::NotifyConsumed( ANS_LOGE("handler is nullptr"); return; } + ANS_LOGE(">>>>>>9 NotifyConsumed"); AppExecFwk::EventHandler::Callback NotifyConsumedFunc = std::bind(&NotificationSubscriberManager::NotifyConsumedInner, this, notification, notificationMap); @@ -205,10 +210,16 @@ 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; } + ANS_LOGE(">>>>>>8AddRecordInfo, userid"); + //ANS_LOGI(">>>>>>AddRecordInfo, userid = %{public}d, subscribedAll= %{public}d, bundlesize=%{public}d", + // record->userId, record->subscribedAll, record->bundleList_.size()); } void NotificationSubscriberManager::RemoveRecordInfo( @@ -233,6 +244,7 @@ ErrCode NotificationSubscriberManager::AddSubscriberInner( { std::shared_ptr record = FindSubscriberRecord(subscriber); + ANS_LOGE(">>>>>>5 AddSubscriberInner, userid = %{public}d", record->userId); if (record == nullptr) { record = CreateSubscriberRecord(subscriber); if (record == nullptr) { @@ -279,12 +291,17 @@ ErrCode NotificationSubscriberManager::RemoveSubscriberInner( void NotificationSubscriberManager::NotifyConsumedInner( const sptr ¬ification, const sptr ¬ificationMap) { + ANS_LOGE(">>>>>>6 NotifyConsumedInner"); + //ANS_LOGI(">>>>>>6 NotifyConsumedInner, userid = %{public}d", + // notification->GetUserId()); 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)) { + ANS_LOGE(">>>>>>7 NotifyConsumedInner"); + //ANS_LOGI(">>>>>>6 NotifyConsumedInner, userid = %{public}d, record subscribedAll = %{public}d, size=%{public}d, userid=%{public}d", + // notification->GetUserId(), record->subscribedAll, record->bundleList_.size(), record->userId); + if (!record->subscribedAll == (iter != record->bundleList_.end())) { record->subscriber->OnConsumed(notification, notificationMap); record->subscriber->OnConsumed(notification); }