Change update checker to do a simpler check which allows more dramatic versions in the future.
This commit is contained in:
		| @@ -9,6 +9,7 @@ import java.io.InputStreamReader; | |||||||
| import java.net.HttpURLConnection; | import java.net.HttpURLConnection; | ||||||
| import java.net.URL; | import java.net.URL; | ||||||
| import java.nio.charset.StandardCharsets; | import java.nio.charset.StandardCharsets; | ||||||
|  | import java.util.Arrays; | ||||||
| import java.util.Date; | import java.util.Date; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| import java.util.stream.Collectors; | import java.util.stream.Collectors; | ||||||
| @@ -62,7 +63,6 @@ public class UpdateChecker { | |||||||
|         latestVersion = version; |         latestVersion = version; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Asks spigot for the version |      * Asks spigot for the version | ||||||
|      */ |      */ | ||||||
| @@ -76,8 +76,8 @@ public class UpdateChecker { | |||||||
|             // Get the input stream, what we receive |             // Get the input stream, what we receive | ||||||
|             try (InputStream input = con.getInputStream()) { |             try (InputStream input = con.getInputStream()) { | ||||||
|                 // Read it to string |                 // Read it to string | ||||||
|                 String version = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)) |                 String version = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)).lines() | ||||||
|                         .lines().collect(Collectors.joining("\n")); |                         .collect(Collectors.joining("\n")); | ||||||
|  |  | ||||||
|                 // If the version is not empty, return it |                 // If the version is not empty, return it | ||||||
|                 if (!version.isEmpty()) { |                 if (!version.isEmpty()) { | ||||||
| @@ -93,10 +93,17 @@ public class UpdateChecker { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     private boolean isNewerVersion(String currentVersion, String newVersion) { |     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 |         // Remove 'v' and '-SNAPSHOT' from string, split by decimal points | ||||||
|         String[] cSplit = currentVersion.replaceAll("(v)|(-SNAPSHOT)", "").split("\\."); |         String[] cSplit = currentVersion.replaceAll("(v)|(-SNAPSHOT)", "").split("\\."); | ||||||
|         String[] nSplit = newVersion.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 |         // Iterate over the versions from left to right | ||||||
|         for (int i = 0; i < Math.max(cSplit.length, nSplit.length); i++) { |         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 |             // 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 |         // 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 |             // Get the input stream, what we receive | ||||||
|             try (InputStream input = con.getInputStream()) { |             try (InputStream input = con.getInputStream()) { | ||||||
|                 // Read it to string |                 // Read it to string | ||||||
|                 String json = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)) |                 String json = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)).lines() | ||||||
|                         .lines().collect(Collectors.joining("\n")); |                         .collect(Collectors.joining("\n")); | ||||||
|  |  | ||||||
|                 jsonObject = new Gson().fromJson(json, Map.class); |                 jsonObject = new Gson().fromJson(json, Map.class); | ||||||
|             } |             } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user