X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=af810549a7f53a0cc9797ce0a6835299091a86eb;hb=6163031365fd14a7351a9689ac3325e03c9d165d;hp=03091e3f469a550d170cfad4d2f33243b97feaf0;hpb=888268b3742d0fca33bc50fc42f6956f3142e503;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java index 03091e3..af81054 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -63,6 +63,7 @@ import net.pterodactylus.sone.data.PostReply; import net.pterodactylus.sone.data.Profile; import net.pterodactylus.sone.data.Profile.Field; import net.pterodactylus.sone.data.Reply; +import net.pterodactylus.sone.data.Reply.Modifier.ReplyUpdated; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.data.Sone.ShowCustomAvatars; import net.pterodactylus.sone.data.Sone.SoneStatus; @@ -839,7 +840,7 @@ public class Core extends AbstractService implements SoneProvider { continue; } if (reply.getTime() < getSoneFollowingTime(sone)) { - reply.modify().setKnown().update(); + reply.modify().setKnown().update(Optional.>absent()); } else if (!reply.isKnown()) { eventBus.post(new NewPostReplyFoundEvent(reply)); } @@ -1134,7 +1135,7 @@ public class Core extends AbstractService implements SoneProvider { } database.storePostReplies(sone, replies); for (PostReply reply : replies) { - reply.modify().setKnown().update(); + reply.modify().setKnown().update(Optional.>absent()); } logger.info(String.format("Sone loaded successfully: %s", sone)); @@ -1234,8 +1235,7 @@ public class Core extends AbstractService implements SoneProvider { */ public void markReplyKnown(PostReply reply) { boolean previouslyKnown = reply.isKnown(); - reply.modify().setKnown().update(); - eventBus.post(new MarkPostReplyKnownEvent(reply)); + reply.modify().setKnown().update(postReplyUpdated()); if (!previouslyKnown) { touchConfiguration(); } @@ -1852,6 +1852,15 @@ public class Core extends AbstractService implements SoneProvider { }); } + public Optional> postReplyUpdated() { + return Optional.>of(new ReplyUpdated() { + @Override + public void replyUpdated(PostReply reply) { + eventBus.post(new MarkPostReplyKnownEvent(reply)); + } + }); + } + public Optional imageCreated() { return Optional.of(new ImageCreated() { @Override