X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FUpdateChecker.java;h=236ac12496a0ae3a6d8a509414568c161f63a6d6;hp=5ccc96dbe9e7f356add7a23b92d9b8a310920b67;hb=e3d95929c7ef6c53bf09d9b0ba06e9eb9ce1ffe1;hpb=e425ac64c5169c74e65f5c070df6b465b4f277ec diff --git a/src/main/java/net/pterodactylus/sone/core/UpdateChecker.java b/src/main/java/net/pterodactylus/sone/core/UpdateChecker.java index 5ccc96d..236ac12 100644 --- a/src/main/java/net/pterodactylus/sone/core/UpdateChecker.java +++ b/src/main/java/net/pterodactylus/sone/core/UpdateChecker.java @@ -27,10 +27,15 @@ import java.util.logging.Level; import java.util.logging.Logger; import net.pterodactylus.sone.core.FreenetInterface.Fetched; +import net.pterodactylus.sone.core.event.UpdateFoundEvent; import net.pterodactylus.sone.main.SonePlugin; import net.pterodactylus.util.io.Closer; import net.pterodactylus.util.logging.Logging; import net.pterodactylus.util.version.Version; + +import com.google.common.eventbus.EventBus; +import com.google.inject.Inject; + import freenet.keys.FreenetURI; import freenet.support.api.Bucket; @@ -50,12 +55,12 @@ public class UpdateChecker { /** The current latest known edition. */ private static final int LATEST_EDITION = 55; + /** The event bus. */ + private final EventBus eventBus; + /** The Freenet interface. */ private final FreenetInterface freenetInterface; - /** The update listener manager. */ - private final UpdateListenerManager updateListenerManager = new UpdateListenerManager(); - /** The current URI of the homepage. */ private FreenetURI currentUri; @@ -71,38 +76,18 @@ public class UpdateChecker { /** * Creates a new update checker. * + * @param eventBus + * The event bus * @param freenetInterface * The freenet interface to use */ - public UpdateChecker(FreenetInterface freenetInterface) { + @Inject + public UpdateChecker(EventBus eventBus, FreenetInterface freenetInterface) { + this.eventBus = eventBus; this.freenetInterface = freenetInterface; } // - // EVENT LISTENER MANAGEMENT - // - - /** - * Adds the given listener to the list of registered listeners. - * - * @param updateListener - * The listener to add - */ - public void addUpdateListener(UpdateListener updateListener) { - updateListenerManager.addListener(updateListener); - } - - /** - * Removes the given listener from the list of registered listeners. - * - * @param updateListener - * The listener to remove - */ - public void removeUpdateListener(UpdateListener updateListener) { - updateListenerManager.removeListener(updateListener); - } - - // // ACCESSORS // @@ -201,8 +186,7 @@ public class UpdateChecker { * Parses the properties of the latest version and fires events, if * necessary. * - * @see UpdateListener#updateFound(Version, long, long) - * @see UpdateListenerManager#fireUpdateFound(Version, long, long) + * @see UpdateFoundEvent * @param propertiesInputStream * The input stream to parse * @param edition @@ -240,7 +224,7 @@ public class UpdateChecker { currentLatestVersion = version; latestVersionDate = releaseTime; logger.log(Level.INFO, String.format("Found new version: %s (%tc)", version, new Date(releaseTime))); - updateListenerManager.fireUpdateFound(version, releaseTime, edition); + eventBus.post(new UpdateFoundEvent(version, releaseTime, edition)); } }