Merge pull request #1033 from Owain94/http-api-callback
http-api: run callback on clientthread
This commit is contained in:
@@ -52,6 +52,7 @@ import net.runelite.api.vars.AccountType;
|
|||||||
import net.runelite.api.widgets.Widget;
|
import net.runelite.api.widgets.Widget;
|
||||||
import static net.runelite.api.widgets.WidgetID.KILL_LOGS_GROUP_ID;
|
import static net.runelite.api.widgets.WidgetID.KILL_LOGS_GROUP_ID;
|
||||||
import net.runelite.api.widgets.WidgetInfo;
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.chat.ChatColorType;
|
import net.runelite.client.chat.ChatColorType;
|
||||||
import net.runelite.client.chat.ChatCommandManager;
|
import net.runelite.client.chat.ChatCommandManager;
|
||||||
import net.runelite.client.chat.ChatMessageBuilder;
|
import net.runelite.client.chat.ChatMessageBuilder;
|
||||||
@@ -116,6 +117,9 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private Client client;
|
private Client client;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private ClientThread clientThread;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ChatCommandsConfig config;
|
private ChatCommandsConfig config;
|
||||||
|
|
||||||
@@ -826,41 +830,42 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
.subscribeOn(Schedulers.single())
|
.subscribeOn(Schedulers.single())
|
||||||
.subscribe(
|
.subscribe(
|
||||||
(osbresult) ->
|
(osbresult) ->
|
||||||
{
|
clientThread.invoke(() ->
|
||||||
int itemId = item.getId();
|
|
||||||
int itemPrice = itemManager.getItemPrice(itemId);
|
|
||||||
|
|
||||||
final ChatMessageBuilder builder = new ChatMessageBuilder();
|
|
||||||
builder.append(ChatColorType.NORMAL);
|
|
||||||
builder.append(ChatColorType.HIGHLIGHT);
|
|
||||||
builder.append(item.getName());
|
|
||||||
builder.append(ChatColorType.NORMAL);
|
|
||||||
builder.append(": GE ");
|
|
||||||
builder.append(ChatColorType.HIGHLIGHT);
|
|
||||||
builder.append(StackFormatter.formatNumber(itemPrice));
|
|
||||||
builder.append(ChatColorType.NORMAL);
|
|
||||||
builder.append(": OSB ");
|
|
||||||
builder.append(ChatColorType.HIGHLIGHT);
|
|
||||||
builder.append(StackFormatter.formatNumber(osbresult.getOverall_average()));
|
|
||||||
|
|
||||||
ItemDefinition itemComposition = itemManager.getItemDefinition(itemId);
|
|
||||||
if (itemComposition != null)
|
|
||||||
{
|
{
|
||||||
int alchPrice = itemManager.getAlchValue(itemId);
|
int itemId = item.getId();
|
||||||
builder
|
int itemPrice = itemManager.getItemPrice(itemId);
|
||||||
.append(ChatColorType.NORMAL)
|
|
||||||
.append(" HA value ")
|
|
||||||
.append(ChatColorType.HIGHLIGHT)
|
|
||||||
.append(StackFormatter.formatNumber(alchPrice));
|
|
||||||
}
|
|
||||||
|
|
||||||
String response = builder.build();
|
final ChatMessageBuilder builder = new ChatMessageBuilder();
|
||||||
|
builder.append(ChatColorType.NORMAL);
|
||||||
|
builder.append(ChatColorType.HIGHLIGHT);
|
||||||
|
builder.append(item.getName());
|
||||||
|
builder.append(ChatColorType.NORMAL);
|
||||||
|
builder.append(": GE ");
|
||||||
|
builder.append(ChatColorType.HIGHLIGHT);
|
||||||
|
builder.append(StackFormatter.formatNumber(itemPrice));
|
||||||
|
builder.append(ChatColorType.NORMAL);
|
||||||
|
builder.append(": OSB ");
|
||||||
|
builder.append(ChatColorType.HIGHLIGHT);
|
||||||
|
builder.append(StackFormatter.formatNumber(osbresult.getOverall_average()));
|
||||||
|
|
||||||
log.debug("Setting response {}", response);
|
ItemDefinition itemComposition = itemManager.getItemDefinition(itemId);
|
||||||
messageNode.setRuneLiteFormatMessage(response);
|
if (itemComposition != null)
|
||||||
chatMessageManager.update(messageNode);
|
{
|
||||||
client.refreshChat();
|
int alchPrice = itemManager.getAlchValue(itemId);
|
||||||
}
|
builder
|
||||||
|
.append(ChatColorType.NORMAL)
|
||||||
|
.append(" HA value ")
|
||||||
|
.append(ChatColorType.HIGHLIGHT)
|
||||||
|
.append(StackFormatter.formatNumber(alchPrice));
|
||||||
|
}
|
||||||
|
|
||||||
|
String response = builder.build();
|
||||||
|
|
||||||
|
log.debug("Setting response {}", response);
|
||||||
|
messageNode.setRuneLiteFormatMessage(response);
|
||||||
|
chatMessageManager.update(messageNode);
|
||||||
|
client.refreshChat();
|
||||||
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ import net.runelite.api.widgets.WidgetInfo;
|
|||||||
import static net.runelite.api.widgets.WidgetInfo.TO_CHILD;
|
import static net.runelite.api.widgets.WidgetInfo.TO_CHILD;
|
||||||
import static net.runelite.api.widgets.WidgetInfo.TO_GROUP;
|
import static net.runelite.api.widgets.WidgetInfo.TO_GROUP;
|
||||||
import net.runelite.api.widgets.WidgetItem;
|
import net.runelite.api.widgets.WidgetItem;
|
||||||
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.chat.ChatColorType;
|
import net.runelite.client.chat.ChatColorType;
|
||||||
import net.runelite.client.chat.ChatMessageBuilder;
|
import net.runelite.client.chat.ChatMessageBuilder;
|
||||||
import net.runelite.client.chat.ChatMessageManager;
|
import net.runelite.client.chat.ChatMessageManager;
|
||||||
@@ -86,6 +87,9 @@ public class ExaminePlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private Client client;
|
private Client client;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private ClientThread clientThread;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ItemManager itemManager;
|
private ItemManager itemManager;
|
||||||
|
|
||||||
@@ -369,33 +373,34 @@ public class ExaminePlugin extends Plugin
|
|||||||
.subscribeOn(Schedulers.single())
|
.subscribeOn(Schedulers.single())
|
||||||
.subscribe(
|
.subscribe(
|
||||||
(osbresult) ->
|
(osbresult) ->
|
||||||
{
|
clientThread.invoke(() ->
|
||||||
message
|
|
||||||
.append(ChatColorType.NORMAL)
|
|
||||||
.append(" GE ")
|
|
||||||
.append(ChatColorType.HIGHLIGHT)
|
|
||||||
.append(StackFormatter.formatNumber(gePrice * finalQuantity));
|
|
||||||
|
|
||||||
if (osbresult != null)
|
|
||||||
{
|
{
|
||||||
message
|
message
|
||||||
.append(ChatColorType.NORMAL)
|
.append(ChatColorType.NORMAL)
|
||||||
.append(" OSB ")
|
.append(" GE ")
|
||||||
.append(ChatColorType.HIGHLIGHT)
|
.append(ChatColorType.HIGHLIGHT)
|
||||||
.append(StackFormatter.formatNumber(osbresult.getOverall_average() * finalQuantity));
|
.append(StackFormatter.formatNumber(gePrice * finalQuantity));
|
||||||
}
|
|
||||||
|
|
||||||
if (finalQuantity > 1)
|
if (osbresult != null)
|
||||||
{
|
{
|
||||||
message
|
message
|
||||||
.append(ChatColorType.NORMAL)
|
.append(ChatColorType.NORMAL)
|
||||||
.append(" (")
|
.append(" OSB ")
|
||||||
.append(ChatColorType.HIGHLIGHT)
|
.append(ChatColorType.HIGHLIGHT)
|
||||||
.append(StackFormatter.formatNumber(gePrice))
|
.append(StackFormatter.formatNumber(osbresult.getOverall_average() * finalQuantity));
|
||||||
.append(ChatColorType.NORMAL)
|
}
|
||||||
.append("ea)");
|
|
||||||
}
|
if (finalQuantity > 1)
|
||||||
},
|
{
|
||||||
|
message
|
||||||
|
.append(ChatColorType.NORMAL)
|
||||||
|
.append(" (")
|
||||||
|
.append(ChatColorType.HIGHLIGHT)
|
||||||
|
.append(StackFormatter.formatNumber(gePrice))
|
||||||
|
.append(ChatColorType.NORMAL)
|
||||||
|
.append("ea)");
|
||||||
|
}
|
||||||
|
}),
|
||||||
(e) -> log.error(e.toString())
|
(e) -> log.error(e.toString())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ import net.runelite.api.widgets.WidgetInfo;
|
|||||||
import net.runelite.client.Notifier;
|
import net.runelite.client.Notifier;
|
||||||
import net.runelite.client.account.AccountSession;
|
import net.runelite.client.account.AccountSession;
|
||||||
import net.runelite.client.account.SessionManager;
|
import net.runelite.client.account.SessionManager;
|
||||||
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.events.SessionClose;
|
import net.runelite.client.events.SessionClose;
|
||||||
@@ -131,6 +132,9 @@ public class GrandExchangePlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private Client client;
|
private Client client;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private ClientThread clientThread;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ClientToolbar clientToolbar;
|
private ClientToolbar clientToolbar;
|
||||||
|
|
||||||
@@ -550,10 +554,11 @@ public class GrandExchangePlugin extends Plugin
|
|||||||
.subscribeOn(Schedulers.single())
|
.subscribeOn(Schedulers.single())
|
||||||
.subscribe(
|
.subscribe(
|
||||||
(osbresult) ->
|
(osbresult) ->
|
||||||
{
|
clientThread.invoke(() ->
|
||||||
final String text = geText.getText() + OSB_GE_TEXT + StackFormatter.formatNumber(osbresult.getOverall_average());
|
{
|
||||||
geText.setText(text);
|
final String text = geText.getText() + OSB_GE_TEXT + StackFormatter.formatNumber(osbresult.getOverall_average());
|
||||||
},
|
geText.setText(text);
|
||||||
|
}),
|
||||||
(e) -> log.debug("Error getting price of item {}", itemId, e)
|
(e) -> log.debug("Error getting price of item {}", itemId, e)
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user