diff --git a/activation.conf.example b/activation.conf.example new file mode 100644 index 0000000..1de7a6e --- /dev/null +++ b/activation.conf.example @@ -0,0 +1,2 @@ +[SmartInput] +EQUAL,O00oOOO0 diff --git a/src/main/java/com/yelochick/ActivationPlugin.java b/src/main/java/com/yelochick/ActivationPlugin.java index 65d4c28..3c0e1c5 100644 --- a/src/main/java/com/yelochick/ActivationPlugin.java +++ b/src/main/java/com/yelochick/ActivationPlugin.java @@ -1,14 +1,27 @@ package com.yelochick; +import com.janetfilter.core.Environment; +import com.janetfilter.core.models.FilterRule; import com.janetfilter.core.plugin.MyTransformer; +import com.janetfilter.core.plugin.PluginConfig; import com.janetfilter.core.plugin.PluginEntry; import com.yelochick.coolrequest.VipApiTransformer; import com.yelochick.smartinput.OsLanguageManagerProxyTransformer; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; public class ActivationPlugin implements PluginEntry { + + private List smartInputRules; + + @Override + public void init(Environment environment, PluginConfig config) { + smartInputRules = Collections.unmodifiableList(config.getBySection("SmartInput")); + } + @Override public String getName() { return "ACTIVATION"; @@ -21,9 +34,11 @@ public class ActivationPlugin implements PluginEntry { @Override public List getTransformers() { - return Arrays.asList( - new VipApiTransformer(), - new OsLanguageManagerProxyTransformer() - ); + List transformers = new ArrayList<>(); + transformers.add(new VipApiTransformer()); + for (FilterRule rule : smartInputRules) { + transformers.add(new OsLanguageManagerProxyTransformer(rule.getRule())); + } + return transformers; } } diff --git a/src/main/java/com/yelochick/smartinput/OsLanguageManagerProxyTransformer.java b/src/main/java/com/yelochick/smartinput/OsLanguageManagerProxyTransformer.java index 813a606..7465027 100644 --- a/src/main/java/com/yelochick/smartinput/OsLanguageManagerProxyTransformer.java +++ b/src/main/java/com/yelochick/smartinput/OsLanguageManagerProxyTransformer.java @@ -14,9 +14,15 @@ import static jdk.internal.org.objectweb.asm.Opcodes.*; */ public class OsLanguageManagerProxyTransformer implements MyTransformer { + private final String hookClassName; + + public OsLanguageManagerProxyTransformer(String hookClassName) { + this.hookClassName = hookClassName; + } + @Override public String getHookClassName() { - return "O00oOo"; + return hookClassName; } @Override