projects
/
Sone.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
🚧 Filter new posts using the current Sone
[Sone.git]
/
src
/
main
/
kotlin
/
net
/
pterodactylus
/
sone
/
web
/
notification
/
NewSoneHandler.kt
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
..
eb384c7
100644
(file)
--- a/
src/main/kotlin/net/pterodactylus/sone/web/notification/NewSoneHandler.kt
+++ b/
src/main/kotlin/net/pterodactylus/sone/web/notification/NewSoneHandler.kt
@@
-1,5
+1,5
@@
/**
/**
- * Sone - NewSoneHandler.kt - Copyright © 2019 David ‘Bombe’ Roden
+ * Sone - NewSoneHandler.kt - Copyright © 2019
–2020
David ‘Bombe’ Roden
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@
-22,24
+22,29
@@
import net.pterodactylus.sone.core.event.*
import net.pterodactylus.sone.data.*
import net.pterodactylus.sone.notify.*
import net.pterodactylus.util.notify.*
import net.pterodactylus.sone.data.*
import net.pterodactylus.sone.notify.*
import net.pterodactylus.util.notify.*
-import
net.pterodactylus.util.template
.*
+import
javax.inject
.*
/**
* Notification handler for “new Sone discovered” events.
*/
/**
* Notification handler for “new Sone discovered” events.
*/
-class NewSoneHandler(private val notificationManager: NotificationManager, template: Template) {
-
- private val notification = ListNotification<Sone>("new-sone-notification", "", template)
+class NewSoneHandler @Inject constructor(private val notificationManager: NotificationManager, @Named("newSone") private val notification: ListNotification<Sone>) {
@Subscribe
fun newSoneFound(newSoneFoundEvent: NewSoneFoundEvent) {
@Subscribe
fun newSoneFound(newSoneFoundEvent: NewSoneFoundEvent) {
- if (!notificationManager.has
Notification("first-start-notification"
)) {
+ if (!notificationManager.has
FirstStartNotification(
)) {
notification.add(newSoneFoundEvent.sone)
notificationManager.addNotification(notification)
}
}
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)
+ }
+
+}