X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=1bf66479822563deeb3708c5a55138ad1c24327d;hb=b9556a5c45d39a82f8f4f94a983ef581d487b50f;hp=4c08651f1ca5a9c02c6f8af991fbef1e89ed58a7;hpb=5b6767cdd9eece7d2a08f52016b3e35340d1f22f;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 4c08651..1bf6647 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -95,6 +95,9 @@ public class Core implements IdentityListener { /** The Sone downloader. */ private final SoneDownloader soneDownloader; + /** Whether the core has been stopped. */ + private volatile boolean stopped; + /** The Sones’ statuses. */ /* synchronize access on itself. */ private final Map soneStatuses = new HashMap(); @@ -732,8 +735,9 @@ public class Core implements IdentityListener { } synchronized (newPosts) { for (Post post : sone.getPosts()) { - if (!storedSone.getPosts().contains(post) && !knownSones.contains(post.getId())) { + if (!storedSone.getPosts().contains(post) && !knownPosts.contains(post.getId())) { newPosts.add(post.getId()); + coreListenerManager.fireNewPostFound(post); } posts.put(post.getId(), post); } @@ -745,8 +749,9 @@ public class Core implements IdentityListener { } synchronized (newReplies) { for (Reply reply : sone.getReplies()) { - if (!storedSone.getReplies().contains(reply) && !knownSones.contains(reply.getId())) { + if (!storedSone.getReplies().contains(reply) && !knownReplies.contains(reply.getId())) { newReplies.add(reply.getId()); + coreListenerManager.fireNewReplyFound(reply); } replies.put(reply.getId(), reply); } @@ -1138,6 +1143,7 @@ public class Core implements IdentityListener { } } saveConfiguration(); + stopped = true; } //