fix: improve plugins data handling

This commit is contained in:
Skylot
2023-04-01 21:06:05 +01:00
parent a992c93198
commit 7a309ca367
35 changed files with 786 additions and 562 deletions
@@ -7,6 +7,7 @@ import java.util.Locale;
import jadx.api.plugins.options.OptionDescription;
import jadx.api.plugins.options.impl.BaseOptionsParser;
import jadx.api.plugins.options.impl.JadxOptionDescription;
import jadx.core.utils.files.FileUtils;
public class JavaConvertOptions extends BaseOptionsParser {
@@ -34,11 +35,10 @@ public class JavaConvertOptions extends BaseOptionsParser {
"convert mode",
"both",
Arrays.asList("dx", "d8", "both")),
new JadxOptionDescription(
JadxOptionDescription.booleanOption(
D8_DESUGAR_OPT,
"use desugar in d8",
"no",
Arrays.asList("yes", "no")));
false));
}
public Mode getMode() {
@@ -48,4 +48,8 @@ public class JavaConvertOptions extends BaseOptionsParser {
public boolean isD8Desugar() {
return d8Desugar;
}
public String getOptionsHash() {
return FileUtils.md5Sum(mode + ":" + d8Desugar);
}
}
@@ -32,6 +32,7 @@ public class JavaConvertPlugin implements JadxPlugin, JadxCodeInput {
public void init(JadxPluginContext context) {
context.registerOptions(options);
context.addCodeInput(this);
context.registerInputsHashSupplier(options::getOptionsHash);
}
@Override