client: move core singleton eventbus registration to singleton constructors
This commit is contained in:
@@ -56,32 +56,20 @@ import lombok.Getter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.client.account.SessionManager;
|
||||
import net.runelite.client.callback.Hooks;
|
||||
import net.runelite.client.chat.ChatMessageManager;
|
||||
import net.runelite.client.chat.CommandManager;
|
||||
import net.runelite.client.config.ConfigManager;
|
||||
import net.runelite.client.discord.DiscordService;
|
||||
import net.runelite.client.eventbus.EventBus;
|
||||
import net.runelite.client.externalplugins.ExternalPluginManager;
|
||||
import net.runelite.client.game.FriendChatManager;
|
||||
import net.runelite.client.game.ItemManager;
|
||||
import net.runelite.client.game.LootManager;
|
||||
import net.runelite.client.game.chatbox.ChatboxPanelManager;
|
||||
import net.runelite.client.menus.MenuManager;
|
||||
import net.runelite.client.plugins.PluginManager;
|
||||
import net.runelite.client.rs.ClientLoader;
|
||||
import net.runelite.client.rs.ClientUpdateCheckMode;
|
||||
import net.runelite.client.ui.ClientUI;
|
||||
import net.runelite.client.ui.DrawManager;
|
||||
import net.runelite.client.ui.FatalErrorDialog;
|
||||
import net.runelite.client.ui.SplashScreen;
|
||||
import net.runelite.client.ui.overlay.OverlayManager;
|
||||
import net.runelite.client.ui.overlay.OverlayRenderer;
|
||||
import net.runelite.client.ui.overlay.WidgetOverlay;
|
||||
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
||||
import net.runelite.client.ui.overlay.tooltip.TooltipOverlay;
|
||||
import net.runelite.client.ui.overlay.worldmap.WorldMapOverlay;
|
||||
import net.runelite.client.ws.PartyService;
|
||||
import net.runelite.http.api.RuneLiteAPI;
|
||||
import okhttp3.Cache;
|
||||
import okhttp3.OkHttpClient;
|
||||
@@ -117,9 +105,6 @@ public class RuneLite
|
||||
@Inject
|
||||
private ConfigManager configManager;
|
||||
|
||||
@Inject
|
||||
private DrawManager drawManager;
|
||||
|
||||
@Inject
|
||||
private SessionManager sessionManager;
|
||||
|
||||
@@ -132,48 +117,15 @@ public class RuneLite
|
||||
@Inject
|
||||
private ClientUI clientUI;
|
||||
|
||||
@Inject
|
||||
private Provider<InfoBoxManager> infoBoxManager;
|
||||
|
||||
@Inject
|
||||
private OverlayManager overlayManager;
|
||||
|
||||
@Inject
|
||||
private Provider<PartyService> partyService;
|
||||
|
||||
@Inject
|
||||
private Provider<ItemManager> itemManager;
|
||||
|
||||
@Inject
|
||||
private Provider<OverlayRenderer> overlayRenderer;
|
||||
|
||||
@Inject
|
||||
private Provider<FriendChatManager> friendsChatManager;
|
||||
|
||||
@Inject
|
||||
private Provider<ChatMessageManager> chatMessageManager;
|
||||
|
||||
@Inject
|
||||
private Provider<MenuManager> menuManager;
|
||||
|
||||
@Inject
|
||||
private Provider<CommandManager> commandManager;
|
||||
|
||||
@Inject
|
||||
private Provider<TooltipOverlay> tooltipOverlay;
|
||||
|
||||
@Inject
|
||||
private Provider<WorldMapOverlay> worldMapOverlay;
|
||||
|
||||
@Inject
|
||||
private Provider<LootManager> lootManager;
|
||||
|
||||
@Inject
|
||||
private Provider<ChatboxPanelManager> chatboxPanelManager;
|
||||
|
||||
@Inject
|
||||
private Provider<Hooks> hooks;
|
||||
|
||||
@Inject
|
||||
@Nullable
|
||||
private Client client;
|
||||
@@ -362,27 +314,11 @@ public class RuneLite
|
||||
eventBus.register(pluginManager);
|
||||
eventBus.register(externalPluginManager);
|
||||
eventBus.register(overlayManager);
|
||||
eventBus.register(drawManager);
|
||||
eventBus.register(configManager);
|
||||
eventBus.register(discordService);
|
||||
|
||||
if (!isOutdated)
|
||||
{
|
||||
// Initialize chat colors
|
||||
chatMessageManager.get().loadColors();
|
||||
|
||||
eventBus.register(infoBoxManager.get());
|
||||
eventBus.register(partyService.get());
|
||||
eventBus.register(overlayRenderer.get());
|
||||
eventBus.register(friendsChatManager.get());
|
||||
eventBus.register(itemManager.get());
|
||||
eventBus.register(menuManager.get());
|
||||
eventBus.register(chatMessageManager.get());
|
||||
eventBus.register(commandManager.get());
|
||||
eventBus.register(lootManager.get());
|
||||
eventBus.register(chatboxPanelManager.get());
|
||||
eventBus.register(hooks.get());
|
||||
|
||||
// Add core overlays
|
||||
WidgetOverlay.createOverlays(client).forEach(overlayManager::add);
|
||||
overlayManager.add(worldMapOverlay.get());
|
||||
|
||||
@@ -83,44 +83,19 @@ public class Hooks implements Callbacks
|
||||
private static final GameTick GAME_TICK = new GameTick();
|
||||
private static final BeforeRender BEFORE_RENDER = new BeforeRender();
|
||||
|
||||
@Inject
|
||||
private Client client;
|
||||
|
||||
@Inject
|
||||
private OverlayRenderer renderer;
|
||||
|
||||
@Inject
|
||||
private EventBus eventBus;
|
||||
|
||||
@Inject
|
||||
private DeferredEventBus deferredEventBus;
|
||||
|
||||
@Inject
|
||||
private Scheduler scheduler;
|
||||
|
||||
@Inject
|
||||
private InfoBoxManager infoBoxManager;
|
||||
|
||||
@Inject
|
||||
private ChatMessageManager chatMessageManager;
|
||||
|
||||
@Inject
|
||||
private MouseManager mouseManager;
|
||||
|
||||
@Inject
|
||||
private KeyManager keyManager;
|
||||
|
||||
@Inject
|
||||
private ClientThread clientThread;
|
||||
|
||||
@Inject
|
||||
private DrawManager drawManager;
|
||||
|
||||
@Inject
|
||||
private Notifier notifier;
|
||||
|
||||
@Inject
|
||||
private ClientUI clientUi;
|
||||
private final Client client;
|
||||
private final OverlayRenderer renderer;
|
||||
private final EventBus eventBus;
|
||||
private final DeferredEventBus deferredEventBus;
|
||||
private final Scheduler scheduler;
|
||||
private final InfoBoxManager infoBoxManager;
|
||||
private final ChatMessageManager chatMessageManager;
|
||||
private final MouseManager mouseManager;
|
||||
private final KeyManager keyManager;
|
||||
private final ClientThread clientThread;
|
||||
private final DrawManager drawManager;
|
||||
private final Notifier notifier;
|
||||
private final ClientUI clientUi;
|
||||
|
||||
private Dimension lastStretchedDimensions;
|
||||
private VolatileImage stretchedImage;
|
||||
@@ -155,6 +130,39 @@ public class Hooks implements Callbacks
|
||||
return lastGraphics;
|
||||
}
|
||||
|
||||
@Inject
|
||||
private Hooks(
|
||||
Client client,
|
||||
OverlayRenderer renderer,
|
||||
EventBus eventBus,
|
||||
DeferredEventBus deferredEventBus,
|
||||
Scheduler scheduler,
|
||||
InfoBoxManager infoBoxManager,
|
||||
ChatMessageManager chatMessageManager,
|
||||
MouseManager mouseManager,
|
||||
KeyManager keyManager,
|
||||
ClientThread clientThread,
|
||||
DrawManager drawManager,
|
||||
Notifier notifier,
|
||||
ClientUI clientUi
|
||||
)
|
||||
{
|
||||
this.client = client;
|
||||
this.renderer = renderer;
|
||||
this.eventBus = eventBus;
|
||||
this.deferredEventBus = deferredEventBus;
|
||||
this.scheduler = scheduler;
|
||||
this.infoBoxManager = infoBoxManager;
|
||||
this.chatMessageManager = chatMessageManager;
|
||||
this.mouseManager = mouseManager;
|
||||
this.keyManager = keyManager;
|
||||
this.clientThread = clientThread;
|
||||
this.drawManager = drawManager;
|
||||
this.notifier = notifier;
|
||||
this.clientUi = clientUi;
|
||||
eventBus.register(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void post(Object event)
|
||||
{
|
||||
|
||||
@@ -50,6 +50,7 @@ import net.runelite.api.events.ScriptCallbackEvent;
|
||||
import net.runelite.api.events.VarbitChanged;
|
||||
import net.runelite.client.callback.ClientThread;
|
||||
import net.runelite.client.config.ChatColorConfig;
|
||||
import net.runelite.client.eventbus.EventBus;
|
||||
import net.runelite.client.eventbus.Subscribe;
|
||||
import net.runelite.client.events.ConfigChanged;
|
||||
import net.runelite.client.ui.JagexColors;
|
||||
@@ -72,11 +73,14 @@ public class ChatMessageManager
|
||||
private ChatMessageManager(
|
||||
Client client,
|
||||
ChatColorConfig chatColorConfig,
|
||||
ClientThread clientThread)
|
||||
ClientThread clientThread,
|
||||
EventBus eventBus)
|
||||
{
|
||||
this.client = client;
|
||||
this.chatColorConfig = chatColorConfig;
|
||||
this.clientThread = clientThread;
|
||||
eventBus.register(this);
|
||||
loadColors();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
@@ -254,7 +258,7 @@ public class ChatMessageManager
|
||||
/**
|
||||
* Load all configured colors
|
||||
*/
|
||||
public void loadColors()
|
||||
private void loadColors()
|
||||
{
|
||||
colorCache.clear();
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ public class CommandManager
|
||||
this.client = client;
|
||||
this.eventBus = eventBus;
|
||||
this.clientThread = clientThread;
|
||||
eventBus.register(this);
|
||||
}
|
||||
|
||||
public void register(ChatboxInputListener chatboxInputListener)
|
||||
|
||||
@@ -45,6 +45,7 @@ import net.runelite.api.IndexedSprite;
|
||||
import net.runelite.api.SpriteID;
|
||||
import net.runelite.api.events.FriendsChatChanged;
|
||||
import net.runelite.api.events.GameStateChanged;
|
||||
import net.runelite.client.eventbus.EventBus;
|
||||
import net.runelite.client.eventbus.Subscribe;
|
||||
import net.runelite.client.util.ImageUtil;
|
||||
import net.runelite.client.util.Text;
|
||||
@@ -93,10 +94,11 @@ public class FriendChatManager
|
||||
private int offset;
|
||||
|
||||
@Inject
|
||||
private FriendChatManager(Client client, SpriteManager spriteManager)
|
||||
private FriendChatManager(Client client, SpriteManager spriteManager, EventBus eventBus)
|
||||
{
|
||||
this.client = client;
|
||||
this.spriteManager = spriteManager;
|
||||
eventBus.register(this);
|
||||
}
|
||||
|
||||
public boolean isMember(String name)
|
||||
|
||||
@@ -55,6 +55,7 @@ import net.runelite.api.SpritePixels;
|
||||
import net.runelite.api.events.GameStateChanged;
|
||||
import net.runelite.api.events.PostItemComposition;
|
||||
import net.runelite.client.callback.ClientThread;
|
||||
import net.runelite.client.eventbus.EventBus;
|
||||
import net.runelite.client.eventbus.Subscribe;
|
||||
import net.runelite.client.util.AsyncBufferedImage;
|
||||
import net.runelite.http.api.item.ItemClient;
|
||||
@@ -169,7 +170,7 @@ public class ItemManager
|
||||
|
||||
@Inject
|
||||
public ItemManager(Client client, ScheduledExecutorService scheduledExecutorService, ClientThread clientThread,
|
||||
OkHttpClient okHttpClient)
|
||||
OkHttpClient okHttpClient, EventBus eventBus)
|
||||
{
|
||||
this.client = client;
|
||||
this.clientThread = clientThread;
|
||||
@@ -213,6 +214,8 @@ public class ItemManager
|
||||
return loadItemOutline(key.itemId, key.itemQuantity, key.outlineColor);
|
||||
}
|
||||
});
|
||||
|
||||
eventBus.register(this);
|
||||
}
|
||||
|
||||
private void loadPrices()
|
||||
|
||||
@@ -84,6 +84,7 @@ public class LootManager
|
||||
{
|
||||
this.eventBus = eventBus;
|
||||
this.client = client;
|
||||
eventBus.register(this);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
|
||||
@@ -79,6 +79,8 @@ public class ChatboxPanelManager
|
||||
|
||||
this.chatboxTextMenuInputProvider = chatboxTextMenuInputProvider;
|
||||
this.chatboxTextInputProvider = chatboxTextInputProvider;
|
||||
|
||||
eventBus.register(this);
|
||||
}
|
||||
|
||||
public void close()
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
*/
|
||||
package net.runelite.client.menus;
|
||||
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.common.collect.LinkedHashMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
@@ -65,11 +64,11 @@ public class MenuManager
|
||||
private final Multimap<Integer, WidgetMenuOption> managedMenuOptions = LinkedHashMultimap.create();
|
||||
|
||||
@Inject
|
||||
@VisibleForTesting
|
||||
MenuManager(Client client, EventBus eventBus)
|
||||
private MenuManager(Client client, EventBus eventBus)
|
||||
{
|
||||
this.client = client;
|
||||
this.eventBus = eventBus;
|
||||
eventBus.register(this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -58,6 +58,7 @@ import net.runelite.api.widgets.Widget;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.api.widgets.WidgetItem;
|
||||
import net.runelite.client.config.RuneLiteConfig;
|
||||
import net.runelite.client.eventbus.EventBus;
|
||||
import net.runelite.client.eventbus.Subscribe;
|
||||
import net.runelite.client.input.KeyListener;
|
||||
import net.runelite.client.input.KeyManager;
|
||||
@@ -113,7 +114,8 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
||||
final RuneLiteConfig runeLiteConfig,
|
||||
final MouseManager mouseManager,
|
||||
final KeyManager keyManager,
|
||||
final ClientUI clientUI)
|
||||
final ClientUI clientUI,
|
||||
final EventBus eventBus)
|
||||
{
|
||||
this.client = client;
|
||||
this.overlayManager = overlayManager;
|
||||
@@ -121,6 +123,7 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
||||
this.clientUI = clientUI;
|
||||
keyManager.registerKeyListener(this);
|
||||
mouseManager.registerMouseListener(this);
|
||||
eventBus.register(this);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
|
||||
@@ -95,6 +95,7 @@ public class InfoBoxManager
|
||||
this.eventBus = eventBus;
|
||||
this.overlayManager = overlayManager;
|
||||
this.configManager = configManager;
|
||||
eventBus.register(this);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
|
||||
@@ -78,6 +78,7 @@ public class PartyService
|
||||
this.sessionManager = sessionManager;
|
||||
this.eventBus = eventBus;
|
||||
this.chat = chat;
|
||||
eventBus.register(this);
|
||||
}
|
||||
|
||||
public void changeParty(UUID newParty)
|
||||
|
||||
@@ -35,6 +35,7 @@ import net.runelite.api.MessageNode;
|
||||
import net.runelite.api.Player;
|
||||
import net.runelite.api.events.ChatMessage;
|
||||
import net.runelite.client.config.ChatColorConfig;
|
||||
import net.runelite.client.events.ConfigChanged;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -62,8 +63,6 @@ public class ChatMessageManagerTest
|
||||
public void before()
|
||||
{
|
||||
Guice.createInjector(BoundFieldModule.of(this)).injectMembers(this);
|
||||
|
||||
chatMessageManager.loadColors();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -71,7 +70,10 @@ public class ChatMessageManagerTest
|
||||
{
|
||||
when(chatColorConfig.opaqueServerMessage()).thenReturn(Color.decode("#b20000"));
|
||||
|
||||
chatMessageManager.loadColors();
|
||||
// rebuild color cache
|
||||
ConfigChanged configChanged = new ConfigChanged();
|
||||
configChanged.setGroup("textrecolor");
|
||||
chatMessageManager.onConfigChanged(configChanged);
|
||||
|
||||
ChatMessage chatMessage = new ChatMessage();
|
||||
chatMessage.setType(ChatMessageType.GAMEMESSAGE);
|
||||
@@ -93,8 +95,6 @@ public class ChatMessageManagerTest
|
||||
|
||||
when(chatColorConfig.opaquePublicFriendUsernames()).thenReturn(Color.decode("#b20000"));
|
||||
|
||||
chatMessageManager.loadColors();
|
||||
|
||||
// Setup message
|
||||
ChatMessage chatMessage = new ChatMessage();
|
||||
chatMessage.setType(ChatMessageType.PUBLICCHAT);
|
||||
@@ -125,8 +125,6 @@ public class ChatMessageManagerTest
|
||||
|
||||
when(chatColorConfig.opaquePublicFriendUsernames()).thenReturn(Color.decode("#b20000"));
|
||||
|
||||
chatMessageManager.loadColors();
|
||||
|
||||
// Setup message
|
||||
ChatMessage chatMessage = new ChatMessage();
|
||||
chatMessage.setType(ChatMessageType.PUBLICCHAT);
|
||||
|
||||
Reference in New Issue
Block a user