From cfa71c037f0caaf04ea06ec2dd40ff17d0622fcd Mon Sep 17 00:00:00 2001
From: TacoMonkey <75862693+TacoMonkey11@users.noreply.github.com>
Date: Fri, 18 Feb 2022 16:05:24 -0500
Subject: Switch from URLConnection to InputStreamReader

---
 .../java/me/xmrvizzy/skyblocker/utils/Events.java  |  2 +-
 .../xmrvizzy/skyblocker/utils/UpdateChecker.java   | 47 ++++++++++------------
 2 files changed, 23 insertions(+), 26 deletions(-)

(limited to 'src')

diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java
index f1f0c464..e3aa4da4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java
@@ -14,7 +14,7 @@ public class Events {
     public static void onSkyblockJoin(){
         Utils.isOnSkyblock = true;
         logger.info("Joined Skyblock");
-        if (UpdateChecker.shouldUpdate() && SkyblockerConfig.get().general.enableUpdateNotification){
+        if (UpdateChecker.shouldUpdate()){
             TranslatableText linkMessage = new TranslatableText("skyblocker.update.update_message");
             TranslatableText linkMessageEnding = new TranslatableText("skyblocker.update.update_message_end");
             TranslatableText link = new TranslatableText("skyblocker.update.update_link");
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java
index 2fb80fd6..ffdd59d4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java
@@ -1,16 +1,16 @@
 package me.xmrvizzy.skyblocker.utils;
 
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
+import com.google.gson.*;
 import me.xmrvizzy.skyblocker.SkyblockerMod;
+import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
 import net.fabricmc.loader.api.FabricLoader;
 import org.spongepowered.asm.util.VersionNumber;
 
+import javax.net.ssl.HttpsURLConnection;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
 import java.net.URL;
 import java.net.URLConnection;
 import java.util.regex.Matcher;
@@ -23,30 +23,27 @@ public class UpdateChecker {
         Matcher matcher;
         VersionNumber localVersion = null;
         VersionNumber latestVersion = null;
-        Boolean shouldUpdate = false;
+        boolean shouldUpdate = false;
+        if (SkyblockerConfig.get().general.enableUpdateNotification){
+            try{
+                URL url = new URL("https://api.modrinth.com/v2/project/skyblocker-liap/version");
 
-        try{
-            URL url = new URL("https://api.modrinth.com/v2/project/skyblocker-liap/version");
-            URLConnection request = url.openConnection();
-            request.connect();
+                InputStreamReader reader = new InputStreamReader(url.openStream());
+                JsonObject versionJson = new Gson().fromJson(reader, JsonElement.class).getAsJsonArray().get(0).getAsJsonObject();
+                matcher = pattern.matcher(versionJson.get("version_number").getAsString());
+                if (matcher.find()){
+                    latestVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3));
+                }
+                matcher = localPattern.matcher(FabricLoader.getInstance().getModContainer(SkyblockerMod.NAMESPACE).get().getMetadata().getVersion().getFriendlyString());
+                if (matcher.find()){
+                    localVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3));
+                }
+                if (localVersion != null && latestVersion != null)
+                    if (localVersion.compareTo(latestVersion) < 0) shouldUpdate = true;
 
-            JsonElement json = JsonParser.parseReader(new InputStreamReader((InputStream) request.getContent()));
-            JsonArray jsonArray = json.getAsJsonArray();
-            JsonObject versionJson = jsonArray.get(0).getAsJsonObject();
-            matcher = pattern.matcher(versionJson.get("version_number").getAsString());
-            if (matcher.find()){
-                latestVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3));
+            } catch (IOException e) {
+                e.printStackTrace();
             }
-            matcher = localPattern.matcher(FabricLoader.getInstance().getModContainer(SkyblockerMod.NAMESPACE).get().getMetadata().getVersion().getFriendlyString());
-            if (matcher.find()){
-                localVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3));
-            }
-            if (localVersion != null && latestVersion != null)
-                if (localVersion.compareTo(latestVersion) < 0) shouldUpdate = true;
-
-        } catch (IOException e) {
-            e.printStackTrace();
-            shouldUpdate = false;
         }
         return shouldUpdate;
     }
-- 
cgit