X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneDownloaderImpl.java;h=fed6528bc954114ba37bdb74fc0af2fe8e97424f;hb=40a1ac4c90c1480936c9c782727209cf23acd5e5;hp=ebdbecba69446a9d4f38f610bf96a20b4d707e7f;hpb=3568c3e220993291936f182ee1845bd795b8f513;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/SoneDownloaderImpl.java b/src/main/java/net/pterodactylus/sone/core/SoneDownloaderImpl.java index ebdbecb..fed6528 100644 --- a/src/main/java/net/pterodactylus/sone/core/SoneDownloaderImpl.java +++ b/src/main/java/net/pterodactylus/sone/core/SoneDownloaderImpl.java @@ -103,18 +103,19 @@ public class SoneDownloaderImpl extends AbstractService implements SoneDownloade if (!sones.add(sone)) { freenetInterface.unregisterUsk(sone); } - freenetInterface.registerUsk(sone, this); + freenetInterface.registerUsk(sone, new SoneUpdater() { + @Override + public void updateSone(Sone sone, long edition) { + if (edition > sone.getLatestEdition()) { + sone.setLatestEdition(edition); + new Thread(fetchSoneAction(sone), + "Sone Downloader").start(); + } + } + }); } - /** - * Fetches the updated Sone. This method is a callback method for - * {@link FreenetInterface#registerUsk(Sone, SoneDownloader)}. - * - * @param sone - * The Sone to fetch - */ - @Override - public void fetchSone(Sone sone) { + private void fetchSone(Sone sone) { fetchSone(sone, sone.getRequestUri().sskForUSK()); }