X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FUpdateChecker.java;h=dbca3f196cad08ec17c7ee6c48f5c03a8aa8a81b;hb=11bcfe02cef90ea88c19b30cd796d563c4567a96;hp=e18c6d442b43b68c37c85ecd5502f61c5ea797f4;hpb=629ddb006542df2b671e172d8f544815bbab639b;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/UpdateChecker.java b/src/main/java/net/pterodactylus/sone/core/UpdateChecker.java index e18c6d4..dbca3f1 100644 --- a/src/main/java/net/pterodactylus/sone/core/UpdateChecker.java +++ b/src/main/java/net/pterodactylus/sone/core/UpdateChecker.java @@ -1,5 +1,5 @@ /* - * Sone - UpdateChecker.java - Copyright © 2011–2013 David Roden + * Sone - UpdateChecker.java - Copyright © 2011–2015 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,6 +17,8 @@ package net.pterodactylus.sone.core; +import static java.util.logging.Logger.getLogger; + import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -26,11 +28,12 @@ import java.util.Properties; import java.util.logging.Level; import java.util.logging.Logger; +import javax.inject.Singleton; + 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; @@ -44,16 +47,11 @@ import freenet.support.api.Bucket; * * @author David ‘Bombe’ Roden */ +@Singleton public class UpdateChecker { /** The logger. */ - private static final Logger logger = Logging.getLogger(UpdateChecker.class); - - /** The key of the Sone homepage. */ - private static final String SONE_HOMEPAGE = "USK@nwa8lHa271k2QvJ8aa0Ov7IHAV-DFOCFgmDt3X6BpCI,DuQSUZiI~agF8c-6tjsFFGuZ8eICrzWCILB60nT8KKo,AQACAAE/sone/"; - - /** The current latest known edition. */ - private static final int LATEST_EDITION = 60; + private static final Logger logger = getLogger(UpdateChecker.class.getName()); /** The event bus. */ private final EventBus eventBus; @@ -68,7 +66,8 @@ public class UpdateChecker { private long latestEdition; /** The current latest known version. */ - private Version currentLatestVersion = SonePlugin.VERSION; + private Version currentLatestVersion; + private final Version currentRunningVersion; /** The release date of the latest version. */ private long latestVersionDate; @@ -82,9 +81,11 @@ public class UpdateChecker { * The freenet interface to use */ @Inject - public UpdateChecker(EventBus eventBus, FreenetInterface freenetInterface) { + public UpdateChecker(EventBus eventBus, FreenetInterface freenetInterface, Version currentVersion) { this.eventBus = eventBus; this.freenetInterface = freenetInterface; + this.currentRunningVersion = currentVersion; + this.currentLatestVersion = currentVersion; } // @@ -98,7 +99,7 @@ public class UpdateChecker { * @return {@code true} if a new version was found */ public boolean hasLatestVersion() { - return currentLatestVersion.compareTo(SonePlugin.VERSION) > 0; + return currentLatestVersion.compareTo(currentRunningVersion) > 0; } /** @@ -140,7 +141,7 @@ public class UpdateChecker { */ public void start() { try { - currentUri = new FreenetURI(SONE_HOMEPAGE + LATEST_EDITION); + currentUri = new FreenetURI(SonePlugin.getHomepage()); } catch (MalformedURLException mue1) { /* this can not really happen unless I screw up. */ logger.log(Level.SEVERE, "Sone Homepage URI invalid!", mue1);