plugins: add Plugin::getName

This avoids the infobox manager from having to access plugin descriptor
annotations, making it easier to write tests for
This commit is contained in:
Adam
2020-05-24 14:07:03 -04:00
parent 0168bf0422
commit cb1fc598ba
3 changed files with 8 additions and 5 deletions

View File

@@ -53,4 +53,9 @@ public abstract class Plugin implements Module
{ {
return injector; return injector;
} }
public String getName()
{
return getClass().getAnnotation(PluginDescriptor.class).name();
}
} }

View File

@@ -115,14 +115,13 @@ public class ConfigPlugin extends Plugin
} }
// Expand config panel for plugin // Expand config panel for plugin
PluginDescriptor descriptor = plugin.getClass().getAnnotation(PluginDescriptor.class);
SwingUtilities.invokeLater(() -> SwingUtilities.invokeLater(() ->
{ {
if (!navButton.isSelected()) if (!navButton.isSelected())
{ {
navButton.getOnSelect().run(); navButton.getOnSelect().run();
} }
pluginListPanel.openConfigurationPanel(descriptor.name()); pluginListPanel.openConfigurationPanel(plugin.getName());
}); });
} }
} }

View File

@@ -36,11 +36,10 @@ import java.util.function.Predicate;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.runelite.client.events.ConfigChanged;
import net.runelite.client.config.RuneLiteConfig; import net.runelite.client.config.RuneLiteConfig;
import net.runelite.client.eventbus.Subscribe; import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.ConfigChanged;
import net.runelite.client.util.AsyncBufferedImage; import net.runelite.client.util.AsyncBufferedImage;
import net.runelite.client.plugins.PluginDescriptor;
@Singleton @Singleton
@Slf4j @Slf4j
@@ -168,7 +167,7 @@ public class InfoBoxManager
infoBoxes.sort((b1, b2) -> ComparisonChain infoBoxes.sort((b1, b2) -> ComparisonChain
.start() .start()
.compare(b1.getPriority(), b2.getPriority()) .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()); .result());
} }
} }