From 9794fc9597fb32298630ff959fcbbda24f8a904c Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 25 May 2021 14:13:17 -0400 Subject: [PATCH] Change config name of party plugin to disable by default Since the plugin was rewritten and changed to disable by default, it will not retroactively apply to existing configs without this --- .../client/plugins/PluginDescriptor.java | 5 +++++ .../client/plugins/PluginManager.java | 21 ++++++++----------- .../client/plugins/party/PartyPlugin.java | 1 + 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/PluginDescriptor.java b/runelite-client/src/main/java/net/runelite/client/plugins/PluginDescriptor.java index 57a7a4718f..0a3336d203 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/PluginDescriptor.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/PluginDescriptor.java @@ -37,6 +37,11 @@ public @interface PluginDescriptor { String name(); + /** + * Internal name used in the config. + */ + String configName() default ""; + /** * A short, one-line summary of the plugin. */ diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java index 5b77ac6c12..1549e5cb74 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java @@ -25,6 +25,7 @@ package net.runelite.client.plugins; import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.google.common.graph.Graph; import com.google.common.graph.GraphBuilder; @@ -312,7 +313,8 @@ public class PluginManager { log.debug("Disabling {} due to safe mode", clazz); // also disable the plugin from autostarting later - configManager.unsetConfiguration(RuneLiteConfig.GROUP_NAME, clazz.getSimpleName().toLowerCase()); + configManager.unsetConfiguration(RuneLiteConfig.GROUP_NAME, + (Strings.isNullOrEmpty(pluginDescriptor.configName()) ? clazz.getSimpleName() : pluginDescriptor.configName()).toLowerCase()); continue; } @@ -440,22 +442,17 @@ public class PluginManager public void setPluginEnabled(Plugin plugin, boolean enabled) { - final String keyName = plugin.getClass().getSimpleName().toLowerCase(); - configManager.setConfiguration(RuneLiteConfig.GROUP_NAME, keyName, String.valueOf(enabled)); + final PluginDescriptor pluginDescriptor = plugin.getClass().getAnnotation(PluginDescriptor.class); + final String keyName = Strings.isNullOrEmpty(pluginDescriptor.configName()) ? plugin.getClass().getSimpleName() : pluginDescriptor.configName(); + configManager.setConfiguration(RuneLiteConfig.GROUP_NAME, keyName.toLowerCase(), String.valueOf(enabled)); } public boolean isPluginEnabled(Plugin plugin) { - final String keyName = plugin.getClass().getSimpleName().toLowerCase(); - final String value = configManager.getConfiguration(RuneLiteConfig.GROUP_NAME, keyName); - - if (value != null) - { - return Boolean.valueOf(value); - } - final PluginDescriptor pluginDescriptor = plugin.getClass().getAnnotation(PluginDescriptor.class); - return pluginDescriptor == null || pluginDescriptor.enabledByDefault(); + final String keyName = Strings.isNullOrEmpty(pluginDescriptor.configName()) ? plugin.getClass().getSimpleName() : pluginDescriptor.configName(); + final String value = configManager.getConfiguration(RuneLiteConfig.GROUP_NAME, keyName.toLowerCase()); + return value != null ? Boolean.parseBoolean(value) : pluginDescriptor.enabledByDefault(); } private Plugin instantiate(List scannedPlugins, Class clazz) throws PluginInstantiationException diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java index 789c0740e1..e9287210a8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java @@ -96,6 +96,7 @@ import net.runelite.http.api.ws.messages.party.UserSync; @PluginDescriptor( name = "Party", + configName = "PartyPlugin2", description = "Party management and basic info", enabledByDefault = false )