diff --git a/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java b/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java index a624bf0654..4d82976454 100644 --- a/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java +++ b/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java @@ -30,6 +30,8 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.util.UUID; import net.runelite.http.api.RuneLiteAPI; +import okhttp3.Call; +import okhttp3.Callback; import okhttp3.HttpUrl; import okhttp3.MediaType; import okhttp3.Request; @@ -75,7 +77,7 @@ public class ConfigClient } } - public void set(String key, String value) throws IOException + public void set(String key, String value) { HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() .addPathSegment("config") @@ -90,13 +92,24 @@ public class ConfigClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() { - logger.debug("Set configuration value '{}' to '{}'", key, value); - } + @Override + public void onFailure(Call call, IOException e) + { + logger.warn("Unable to synchronize configuration item", e); + } + + @Override + public void onResponse(Call call, Response response) + { + response.close(); + logger.debug("Synchronized configuration value '{}' to '{}'", key, value); + } + }); } - public void unset(String key) throws IOException + public void unset(String key) { HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() .addPathSegment("config") @@ -111,9 +124,20 @@ public class ConfigClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() { - logger.debug("Unset configuration value '{}'", key); - } + @Override + public void onFailure(Call call, IOException e) + { + logger.warn("Unable to unset configuration item", e); + } + + @Override + public void onResponse(Call call, Response response) + { + response.close(); + logger.debug("Unset configuration value '{}'", key); + } + }); } } diff --git a/http-api/src/main/java/net/runelite/http/api/examine/ExamineClient.java b/http-api/src/main/java/net/runelite/http/api/examine/ExamineClient.java index 5b01ef2ee6..5997799c2e 100644 --- a/http-api/src/main/java/net/runelite/http/api/examine/ExamineClient.java +++ b/http-api/src/main/java/net/runelite/http/api/examine/ExamineClient.java @@ -26,6 +26,8 @@ package net.runelite.http.api.examine; import java.io.IOException; import net.runelite.http.api.RuneLiteAPI; +import okhttp3.Call; +import okhttp3.Callback; import okhttp3.HttpUrl; import okhttp3.MediaType; import okhttp3.Request; @@ -40,22 +42,22 @@ public class ExamineClient private static final MediaType TEXT = MediaType.parse("text"); - public void submitObject(int id, String text) throws IOException + public void submitObject(int id, String text) { submit("object", id, text); } - public void submitNpc(int id, String text) throws IOException + public void submitNpc(int id, String text) { submit("npc", id, text); } - public void submitItem(int id, String text) throws IOException + public void submitItem(int id, String text) { submit("item", id, text); } - private void submit(String type, int id, String text) throws IOException + private void submit(String type, int id, String text) { HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() .addPathSegment("examine") @@ -70,10 +72,20 @@ public class ExamineClient .post(RequestBody.create(TEXT, text)) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() { - logger.debug("Submitted examine info for {} {}: {}", - type, id, text); - } + @Override + public void onFailure(Call call, IOException e) + { + logger.warn("Error submitting examine", e); + } + + @Override + public void onResponse(Call call, Response response) + { + response.close(); + logger.debug("Submitted examine info for {} {}: {}", type, id, text); + } + }); } } diff --git a/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java b/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java index 47a7ce31a4..c45fe2e209 100644 --- a/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java +++ b/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java @@ -26,12 +26,19 @@ package net.runelite.http.api.xp; import java.io.IOException; import net.runelite.http.api.RuneLiteAPI; +import okhttp3.Call; +import okhttp3.Callback; import okhttp3.HttpUrl; import okhttp3.Request; +import okhttp3.Response; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class XpClient { - public void update(String username) throws IOException + private static final Logger logger = LoggerFactory.getLogger(XpClient.class); + + public void update(String username) { HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() .addPathSegment("xp") @@ -43,6 +50,20 @@ public class XpClient .url(url) .build(); - RuneLiteAPI.CLIENT.newCall(request).execute().close(); + RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + { + @Override + public void onFailure(Call call, IOException e) + { + logger.warn("Error submitting xp track", e); + } + + @Override + public void onResponse(Call call, Response response) + { + response.close(); + logger.debug("Submitted xp track for {}", username); + } + }); } } diff --git a/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java b/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java index fb13e5a3be..a5ad68443c 100644 --- a/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java +++ b/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java @@ -31,6 +31,8 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.util.List; import net.runelite.http.api.RuneLiteAPI; +import okhttp3.Call; +import okhttp3.Callback; import okhttp3.HttpUrl; import okhttp3.MediaType; import okhttp3.Request; @@ -45,7 +47,7 @@ public class XteaClient private static final Logger logger = LoggerFactory.getLogger(XteaClient.class); - public Response submit(int revision, int region, int[] keys) throws IOException + public void submit(int revision, int region, int[] keys) { XteaRequest xteaRequest = new XteaRequest(); xteaRequest.setRevision(revision); @@ -69,7 +71,30 @@ public class XteaClient .url(url) .build(); - return RuneLiteAPI.CLIENT.newCall(request).execute(); + RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + { + @Override + public void onFailure(Call call, IOException e) + { + logger.warn("unable to submit xtea keys", e); + } + + @Override + public void onResponse(Call call, Response response) + { + try + { + if (!response.isSuccessful()) + { + logger.debug("unsuccessful xtea response"); + } + } + finally + { + response.close(); + } + } + }); } public List get() throws IOException diff --git a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java index a4ead1cf32..2f553d434b 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java @@ -265,19 +265,7 @@ public class ConfigManager if (client != null) { - Runnable task = () -> - { - try - { - client.set(groupName + "." + key, value); - } - catch (IOException ex) - { - log.warn("unable to set configuration item", ex); - } - }; - executor.execute(task); - + client.set(groupName + "." + key, value); } Runnable task = () -> @@ -315,19 +303,7 @@ public class ConfigManager if (client != null) { - final Runnable task = () -> - { - try - { - client.unset(groupName + "." + key); - } - catch (IOException ex) - { - log.warn("unable to set configuration item", ex); - } - }; - - executor.execute(task); + client.unset(groupName + "." + key); } Runnable task = () -> diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java index 8929428ec8..4ff9f331bc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java @@ -231,7 +231,7 @@ public class ExaminePlugin extends Plugin } cache.put(key, Boolean.TRUE); - executor.submit(() -> submitExamine(pendingExamine, event.getMessage())); + submitExamine(pendingExamine, event.getMessage()); } private void findExamineItem(PendingExamine pendingExamine) @@ -404,24 +404,17 @@ public class ExaminePlugin extends Plugin { int id = examine.getId(); - try + switch (examine.getType()) { - switch (examine.getType()) - { - case ITEM: - examineClient.submitItem(id, text); - break; - case OBJECT: - examineClient.submitObject(id, text); - break; - case NPC: - examineClient.submitNpc(id, text); - break; - } - } - catch (IOException ex) - { - log.warn("Error submitting examine", ex); + case ITEM: + examineClient.submitItem(id, text); + break; + case OBJECT: + examineClient.submitObject(id, text); + break; + case NPC: + examineClient.submitNpc(id, text); + break; } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index 981bf63393..1fcffd75b6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -32,7 +32,6 @@ import java.awt.image.BufferedImage; import java.io.IOException; import java.util.EnumSet; import java.util.Objects; -import java.util.concurrent.ScheduledExecutorService; import javax.imageio.ImageIO; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; @@ -71,9 +70,6 @@ public class XpTrackerPlugin extends Plugin @Inject private SkillIconManager skillIconManager; - @Inject - private ScheduledExecutorService executor; - private NavigationButton navButton; private XpPanel xpPanel; @@ -164,19 +160,7 @@ public class XpTrackerPlugin extends Plugin String username = local != null ? local.getName() : null; if (username != null) { - log.debug("Submitting xp track for {}", username); - - executor.submit(() -> - { - try - { - xpClient.update(username); - } - catch (IOException ex) - { - log.warn("error submitting xp track", ex); - } - }); + xpClient.update(username); } } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java index fd164bcc14..8c629c6397 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java @@ -25,10 +25,8 @@ package net.runelite.client.plugins.xtea; import com.google.common.eventbus.Subscribe; -import java.io.IOException; import java.util.HashSet; import java.util.Set; -import java.util.concurrent.ScheduledExecutorService; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; @@ -36,7 +34,6 @@ import net.runelite.api.events.MapRegionChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.http.api.xtea.XteaClient; -import okhttp3.Response; @PluginDescriptor( name = "Xtea", @@ -52,9 +49,6 @@ public class XteaPlugin extends Plugin @Inject private Client client; - @Inject - private ScheduledExecutorService executor; - @Subscribe public void onMapRegionChanged(MapRegionChanged event) { @@ -82,19 +76,6 @@ public class XteaPlugin extends Plugin sentRegions.add(region); - executor.execute(() -> - { - try (Response response = xteaClient.submit(revision, region, keys)) - { - if (!response.isSuccessful()) - { - log.debug("unsuccessful xtea response"); - } - } - catch (IOException ex) - { - log.debug("unable to submit xtea keys", ex); - } - }); + xteaClient.submit(revision, region, keys); } }