diff --git a/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java b/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java index 057a386b13..577a3ba272 100644 --- a/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java @@ -53,7 +53,7 @@ public class ClientSessionManager { sessionClient.openSession() .subscribeOn(Schedulers.io()) - .observeOn(Schedulers.from(clientThread)) + .observeOn(Schedulers.single()) .subscribe(this::setUuid, this::error); } @@ -68,7 +68,7 @@ public class ClientSessionManager sessionClient.pingSession(sessionId) .subscribeOn(Schedulers.io()) - .observeOn(Schedulers.from(clientThread)) + .observeOn(Schedulers.single()) .doOnError(this::error) .subscribe(); } @@ -79,7 +79,7 @@ public class ClientSessionManager { sessionClient.delete(sessionId) .subscribeOn(Schedulers.io()) - .observeOn(Schedulers.from(clientThread)) + .observeOn(Schedulers.single()) .doOnError(this::error) .subscribe(); diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index 1b5a09d14e..86de7943c7 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -258,7 +258,7 @@ public class RuneLite final ClientLoader clientLoader = new ClientLoader(options.valueOf(updateMode)); Completable.fromAction(clientLoader::get) - .subscribeOn(Schedulers.single()) + .subscribeOn(Schedulers.computation()) .subscribe(); Completable.fromAction(ClassPreloader::preload) diff --git a/runelite-client/src/main/java/net/runelite/client/callback/ClientThread.java b/runelite-client/src/main/java/net/runelite/client/callback/ClientThread.java index 7e9bb4106d..68378ebbea 100644 --- a/runelite-client/src/main/java/net/runelite/client/callback/ClientThread.java +++ b/runelite-client/src/main/java/net/runelite/client/callback/ClientThread.java @@ -25,6 +25,8 @@ package net.runelite.client.callback; import com.google.inject.Inject; +import io.reactivex.plugins.RxJavaPlugins; +import io.reactivex.schedulers.Schedulers; import java.util.Iterator; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.Executor; @@ -45,6 +47,12 @@ public class ClientThread implements Executor @Nullable private Client client; + @Inject + private ClientThread() + { + RxJavaPlugins.setSingleSchedulerHandler(old -> Schedulers.from(this)); + } + public void invoke(Runnable r) { invoke(() -> diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/alchemicalhydra/HydraPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/alchemicalhydra/HydraPlugin.java index 10ad4af459..39f0cf3a52 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/alchemicalhydra/HydraPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/alchemicalhydra/HydraPlugin.java @@ -93,7 +93,7 @@ public class HydraPlugin extends Plugin private boolean inHydraInstance; private int lastAttackTick; - + @Inject private Client client; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java index 8be40b6da6..f3faea9086 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java @@ -185,9 +185,8 @@ public class BlackjackPlugin extends Plugin @Override public boolean matches(MenuEntry entry) { - return - Text.removeTags(entry.getTarget(), true).equalsIgnoreCase(this.getTarget()) && - entry.getOption().equalsIgnoreCase(this.getOption()); + return entry.getOption().equalsIgnoreCase(this.getOption()) && + Text.removeTags(entry.getTarget(), true).equalsIgnoreCase(this.getTarget()); } } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java index 1a0e2fb9ac..b5c326c28f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java @@ -1025,7 +1025,7 @@ public class ChatCommandsPlugin extends Plugin ItemPrice item = retrieveFromList(results, search); CLIENT.lookupItem(item.getId()) .subscribeOn(Schedulers.io()) - .observeOn(Schedulers.from(clientThread)) + .observeOn(Schedulers.single()) .subscribe( (osbresult) -> { 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 a7db4ca64f..648bd8f451 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 @@ -362,7 +362,7 @@ public class ExaminePlugin extends Plugin int finalQuantity = quantity; CLIENT.lookupItem(id) .subscribeOn(Schedulers.io()) - .observeOn(Schedulers.from(clientThread)) + .observeOn(Schedulers.single()) .subscribe( (osbresult) -> { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java index de7eceef43..6fbe6cbe7f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java @@ -605,7 +605,7 @@ public class GrandExchangePlugin extends Plugin { CLIENT.lookupItem(itemId) .subscribeOn(Schedulers.io()) - .observeOn(Schedulers.from(clientThread)) + .observeOn(Schedulers.single()) .subscribe( (osbresult) -> {