X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=da2a2a11d36d1e96726322bf4b98b8b374c2a07a;hb=1a332b59780e73a51f20f67ad01da2dbe25b00d5;hp=e94924c9e2f5aa29f39867d89535f90b837e847a;hpb=dd9a400b5a3c06c5c23c0e6a2eb0f770f25ac231;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 e94924c..da2a2a1 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -1168,15 +1168,13 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis List storedPosts = storedSone.getPosts(); synchronized (knownPosts) { for (Post post : sone.getPosts()) { - post.setSone(storedSone); + post.setSone(storedSone).setKnown(knownPosts.contains(post.getId())); if (!storedPosts.contains(post)) { if (post.getTime() < getSoneFollowingTime(sone)) { - sone.setKnown(true); knownPosts.add(post.getId()); } else if (!knownPosts.contains(post.getId())) { + sone.setKnown(false); coreListenerManager.fireNewPostFound(post); - } else { - sone.setKnown(true); } } posts.put(post.getId(), post); @@ -1195,15 +1193,13 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis Set storedReplies = storedSone.getReplies(); synchronized (knownReplies) { for (PostReply reply : sone.getReplies()) { - reply.setSone(storedSone); + reply.setSone(storedSone).setKnown(knownReplies.contains(reply.getId())); if (!storedReplies.contains(reply)) { if (reply.getTime() < getSoneFollowingTime(sone)) { - reply.setKnown(true); knownReplies.add(reply.getId()); } else if (!knownReplies.contains(reply.getId())) { + reply.setKnown(false); coreListenerManager.fireNewReplyFound(reply); - } else { - reply.setKnown(true); } } replies.put(reply.getId(), reply); @@ -1654,8 +1650,8 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis public void markPostKnown(Post post) { post.setKnown(true); synchronized (knownPosts) { + coreListenerManager.fireMarkPostKnown(post); if (knownPosts.add(post.getId())) { - coreListenerManager.fireMarkPostKnown(post); touchConfiguration(); } } @@ -1793,8 +1789,8 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis public void markReplyKnown(PostReply reply) { reply.setKnown(true); synchronized (knownReplies) { + coreListenerManager.fireMarkReplyKnown(reply); if (knownReplies.add(reply.getId())) { - coreListenerManager.fireMarkReplyKnown(reply); touchConfiguration(); } }