From cb1fc598ba784543fece8f05ebab47f71b69b27f Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 24 May 2020 14:07:03 -0400 Subject: [PATCH] plugins: add Plugin::getName This avoids the infobox manager from having to access plugin descriptor annotations, making it easier to write tests for --- .../src/main/java/net/runelite/client/plugins/Plugin.java | 5 +++++ .../net/runelite/client/plugins/config/ConfigPlugin.java | 3 +-- .../runelite/client/ui/overlay/infobox/InfoBoxManager.java | 5 ++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/Plugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/Plugin.java index 2dbdf009d2..a36a1f40e6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/Plugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/Plugin.java @@ -53,4 +53,9 @@ public abstract class Plugin implements Module { return injector; } + + public String getName() + { + return getClass().getAnnotation(PluginDescriptor.class).name(); + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java index 4e4b1fce9b..ac93dcf96b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java @@ -115,14 +115,13 @@ public class ConfigPlugin extends Plugin } // Expand config panel for plugin - PluginDescriptor descriptor = plugin.getClass().getAnnotation(PluginDescriptor.class); SwingUtilities.invokeLater(() -> { if (!navButton.isSelected()) { navButton.getOnSelect().run(); } - pluginListPanel.openConfigurationPanel(descriptor.name()); + pluginListPanel.openConfigurationPanel(plugin.getName()); }); } } diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java index 8d75ec5bc9..4d51e6af93 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java @@ -36,11 +36,10 @@ import java.util.function.Predicate; import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; -import net.runelite.client.events.ConfigChanged; import net.runelite.client.config.RuneLiteConfig; import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.util.AsyncBufferedImage; -import net.runelite.client.plugins.PluginDescriptor; @Singleton @Slf4j @@ -168,7 +167,7 @@ public class InfoBoxManager infoBoxes.sort((b1, b2) -> ComparisonChain .start() .compare(b1.getPriority(), b2.getPriority()) - .compare(b1.getPlugin().getClass().getAnnotation(PluginDescriptor.class).name(), b2.getPlugin().getClass().getAnnotation(PluginDescriptor.class).name()) + .compare(b1.getPlugin().getName(), b2.getPlugin().getName()) .result()); } }