From: jusung son Date: Fri, 22 Mar 2019 04:39:04 +0000 (+0900) Subject: Add hide list implementation X-Git-Tag: submit/tizen/20190326.074206~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=374b587abe56efdd1a306e3708d7ae9f404cbf81;p=platform%2Fcore%2Fapi%2Fnotification.git Add hide list implementation Change-Id: I06b728df7192d7c5bbed8a5c9c4a6f668536ee1e Signed-off-by: jusung son --- diff --git a/notification-ex/abstract_item.cc b/notification-ex/abstract_item.cc index 4944bb50..cccdfe52 100644 --- a/notification-ex/abstract_item.cc +++ b/notification-ex/abstract_item.cc @@ -366,12 +366,27 @@ list AbstractItem::GetReceiverList() { } bool AbstractItem::CanReceive(std::string id) const { - if (impl_->receiver_group_list_.size() == 0 || id.empty()) + if (impl_->receiver_group_list_.size() != 0 && !id.empty()) { + list::iterator iter = + std::find(impl_->receiver_group_list_.begin(), + impl_->receiver_group_list_.end(), id); + + if (iter != impl_->receiver_group_list_.end()) + return false; + } + + if (impl_->hide_viewer_list_.size() == 0) return true; + + string app_id = util::GetAppId(); list::iterator iter = - std::find(impl_->receiver_group_list_.begin(), - impl_->receiver_group_list_.end(), id); - return !(iter == impl_->receiver_group_list_.end()); + std::find(impl_->hide_viewer_list_.begin(), + impl_->hide_viewer_list_.end(), app_id); + + if (iter != impl_->hide_viewer_list_.end()) + return false; + + return true; } void AbstractItem::SetPolicy(AbstractItem::Policy policy) { diff --git a/notification-ex/manager.cc b/notification-ex/manager.cc index a3be6870..f1abd0a1 100644 --- a/notification-ex/manager.cc +++ b/notification-ex/manager.cc @@ -128,7 +128,8 @@ list Manager::OnRequest(const IEventInfo& info) { list> item_list = OnRequestEvent(info); list serialized_list; for (auto& i : item_list) { - serialized_list.push_back(i->Serialize()); + if (i->CanReceive(impl_->receiver_group_)) + serialized_list.push_back(i->Serialize()); } return serialized_list; }