X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fnotification%2FNewSoneHandler.kt;h=89150cc4aac57f060850afa7d3287a294ff734b8;hp=9ac6c28000a0f140fb38361d27a6799cde970530;hb=2ffc429995f67d23ac3e36007044cf23ca1390de;hpb=188857148a7b035bfc6033b1fd40d774bd1fac65 diff --git a/src/main/kotlin/net/pterodactylus/sone/web/notification/NewSoneHandler.kt b/src/main/kotlin/net/pterodactylus/sone/web/notification/NewSoneHandler.kt index 9ac6c28..89150cc 100644 --- a/src/main/kotlin/net/pterodactylus/sone/web/notification/NewSoneHandler.kt +++ b/src/main/kotlin/net/pterodactylus/sone/web/notification/NewSoneHandler.kt @@ -29,17 +29,24 @@ import net.pterodactylus.util.template.* */ class NewSoneHandler(private val notificationManager: NotificationManager, template: Template) { - private val notification = ListNotification("new-sone-notification", "", template) + private val notification = ListNotification("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) + } + +}