From 51202f1116c7e4c04c4f40af8a81cba0e6a88a31 Mon Sep 17 00:00:00 2001 From: Frank van der Heijden Date: Sat, 30 Jan 2021 14:52:43 +0100 Subject: [PATCH] Only check for updates each 30 minutes, fixes #6 --- .../common/managers/UpdateManager.java | 26 ++++++++----------- .../common/tasks/UpdateCheckerTask.java | 6 +++-- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/Common/src/main/java/net/frankheijden/serverutils/common/managers/UpdateManager.java b/Common/src/main/java/net/frankheijden/serverutils/common/managers/UpdateManager.java index 9ffe30e..889aec9 100644 --- a/Common/src/main/java/net/frankheijden/serverutils/common/managers/UpdateManager.java +++ b/Common/src/main/java/net/frankheijden/serverutils/common/managers/UpdateManager.java @@ -1,25 +1,13 @@ package net.frankheijden.serverutils.common.managers; -import com.google.gson.JsonElement; import net.frankheijden.serverutils.common.ServerUtilsApp; public class UpdateManager { - private JsonElement lastResponse; - private String downloadedVersion; + private String downloadedVersion = ServerUtilsApp.VERSION; + private long lastUpdateCheck = 0; - public UpdateManager() { - this.lastResponse = null; - this.downloadedVersion = ServerUtilsApp.VERSION; - } - - public JsonElement getLastResponse() { - return lastResponse; - } - - public void setLastResponse(JsonElement lastResponse) { - this.lastResponse = lastResponse; - } + public UpdateManager() {} public String getDownloadedVersion() { return downloadedVersion; @@ -32,4 +20,12 @@ public class UpdateManager { public boolean hasDownloaded() { return !downloadedVersion.equals(ServerUtilsApp.VERSION); } + + public boolean canRunUpdateCheck() { + return lastUpdateCheck + 1000 * 60 * 30 <= System.currentTimeMillis(); + } + + public void updateLastUpdateCheck() { + this.lastUpdateCheck = System.currentTimeMillis(); + } } diff --git a/Common/src/main/java/net/frankheijden/serverutils/common/tasks/UpdateCheckerTask.java b/Common/src/main/java/net/frankheijden/serverutils/common/tasks/UpdateCheckerTask.java index c0d37f5..ede5c43 100644 --- a/Common/src/main/java/net/frankheijden/serverutils/common/tasks/UpdateCheckerTask.java +++ b/Common/src/main/java/net/frankheijden/serverutils/common/tasks/UpdateCheckerTask.java @@ -83,9 +83,11 @@ public class UpdateCheckerTask implements Runnable { @Override public void run() { - plugin.getLogger().info(UPDATE_CHECK_START); - UpdateManager updateManager = plugin.getUpdateManager(); + if (!updateManager.canRunUpdateCheck()) return; + updateManager.updateLastUpdateCheck(); + + plugin.getLogger().info(UPDATE_CHECK_START); GitHubResponse pluginResponse = getResponse(GITHUB_LINK); if (pluginResponse == null) return;