Change update checker to do a simpler check which allows more dramatic versions in the future.

This commit is contained in:
libraryaddict 2020-04-05 14:35:39 +12:00
parent 2495ea65c3
commit 4a5b47d2e6
No known key found for this signature in database
GPG key ID: 052E4FBCD257AEA4

View file

@ -9,6 +9,7 @@ import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Date;
import java.util.Map;
import java.util.stream.Collectors;
@ -62,7 +63,6 @@ public class UpdateChecker {
latestVersion = version;
}
/**
* Asks spigot for the version
*/
@ -76,8 +76,8 @@ public class UpdateChecker {
// Get the input stream, what we receive
try (InputStream input = con.getInputStream()) {
// Read it to string
String version = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8))
.lines().collect(Collectors.joining("\n"));
String version = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)).lines()
.collect(Collectors.joining("\n"));
// If the version is not empty, return it
if (!version.isEmpty()) {
@ -93,10 +93,17 @@ public class UpdateChecker {
}
private boolean isNewerVersion(String currentVersion, String newVersion) {
// Lets just ignore all this fancy logic, and say that if you're not on the current release, you're outdated!
return !currentVersion.replaceAll("(v)|(-SNAPSHOT)", "").equals(newVersion.replaceAll("(v)|(-SNAPSHOT)", ""));
/*
// Remove 'v' and '-SNAPSHOT' from string, split by decimal points
String[] cSplit = currentVersion.replaceAll("(v)|(-SNAPSHOT)", "").split("\\.");
String[] nSplit = newVersion.replaceAll("(v)|(-SNAPSHOT)", "").split("\\.");
// Lets just ignore all this fancy logic, and say that if you're not on the current release, you're outdated!
return !Arrays.equals(cSplit, nSplit);
// Iterate over the versions from left to right
for (int i = 0; i < Math.max(cSplit.length, nSplit.length); i++) {
// If the current version doesn't have the next version, then it's older
@ -134,7 +141,7 @@ public class UpdateChecker {
}
// Both versions should be the same, return false as it's not a newer version
return false;
return false;*/
}
/**
@ -151,8 +158,8 @@ public class UpdateChecker {
// Get the input stream, what we receive
try (InputStream input = con.getInputStream()) {
// Read it to string
String json = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8))
.lines().collect(Collectors.joining("\n"));
String json = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)).lines()
.collect(Collectors.joining("\n"));
jsonObject = new Gson().fromJson(json, Map.class);
}