Update behavior of VisibilityAction::Execute 90/201490/4
authormk5004.lee <mk5004.lee@samsung.com>
Fri, 15 Mar 2019 02:19:16 +0000 (11:19 +0900)
committermk5004.lee <mk5004.lee@samsung.com>
Fri, 15 Mar 2019 07:55:30 +0000 (16:55 +0900)
Change-Id: I9be1d98d6c4ff65ce28748b1d7739155cd0f7372
Signed-off-by: mk5004.lee <mk5004.lee@samsung.com>
notification-ex/visibility_action.cc

index 99fba847ac1645d69efb65a1041c483001b1ec75..65d7cbf0b2df7e96e66cd577e6b70476665b71cf 100644 (file)
@@ -108,16 +108,10 @@ bool VisibilityAction::IsLocal() const {
 }
 
 void VisibilityAction::Execute(std::shared_ptr<AbstractItem> item) {
-  std::string id = item->GetId();
-  std::list<std::unique_ptr<Impl::VisibilityEntity>>::iterator it;
-
-  for (it = impl_->entities_.begin(); it != impl_->entities_.end(); it++) {
-    if (id == (*it)->id_) {
-      if ((*it)->visibility_)
-        (*it)->visibility_ = false;
-      else
-        (*it)->visibility_ = true;
-    }
+  for (const auto& entity : impl_->entities_) {
+    AbstractItem& item_ = item->FindByID(entity->id_);
+    if (item_.GetType() != AbstractItem::NullObject)
+      item_.SetVisible(entity->visibility_);
   }
 }