🎨 Use convenience method
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / web / notification / NewSoneHandler.kt
index 9ac6c28..89150cc 100644 (file)
@@ -29,17 +29,24 @@ import net.pterodactylus.util.template.*
  */
 class NewSoneHandler(private val notificationManager: NotificationManager, template: Template) {
 
-       private val notification = ListNotification<Sone>("new-sone-notification", "", template)
+       private val notification = ListNotification<Sone>("new-sone-notification", "sones", template, dismissable = false)
 
        @Subscribe
        fun newSoneFound(newSoneFoundEvent: NewSoneFoundEvent) {
-               if (!notificationManager.hasNotification("first-start-notification")) {
+               if (!notificationManager.hasFirstStartNotification()) {
                        notification.add(newSoneFoundEvent.sone)
                        notificationManager.addNotification(notification)
                }
        }
 
-}
+       @Subscribe
+       fun markedSoneKnown(markSoneKnownEvent: MarkSoneKnownEvent) {
+               notification.remove(markSoneKnownEvent.sone)
+       }
 
-private fun NotificationManager.hasNotification(id: String) =
-               getNotification(id) != null
+       @Subscribe
+       fun soneRemoved(soneRemovedEvent: SoneRemovedEvent) {
+               notification.remove(soneRemovedEvent.sone)
+       }
+
+}