refactor: make input plugin api similar to pass plugins

This commit is contained in:
Skylot
2022-08-22 17:47:58 +01:00
parent 0c4d46ead5
commit a89dbc1152
38 changed files with 370 additions and 379 deletions
@@ -3,13 +3,15 @@ package jadx.plugins.input.smali;
import java.nio.file.Path;
import java.util.List;
import jadx.api.plugins.JadxPlugin;
import jadx.api.plugins.JadxPluginContext;
import jadx.api.plugins.JadxPluginInfo;
import jadx.api.plugins.input.JadxInputPlugin;
import jadx.api.plugins.input.data.ILoadResult;
import jadx.api.plugins.input.data.impl.EmptyLoadResult;
import jadx.api.plugins.input.ICodeLoader;
import jadx.api.plugins.input.JadxCodeInput;
import jadx.api.plugins.input.data.impl.EmptyCodeLoader;
import jadx.plugins.input.dex.DexInputPlugin;
public class SmaliInputPlugin implements JadxInputPlugin {
public class SmaliInputPlugin implements JadxPlugin, JadxCodeInput {
private final DexInputPlugin dexInput = new DexInputPlugin();
@@ -19,10 +21,15 @@ public class SmaliInputPlugin implements JadxInputPlugin {
}
@Override
public ILoadResult loadFiles(List<Path> input) {
public void init(JadxPluginContext context) {
context.addCodeInput(this);
}
@Override
public ICodeLoader loadFiles(List<Path> input) {
SmaliConvert convert = new SmaliConvert();
if (!convert.execute(input)) {
return EmptyLoadResult.INSTANCE;
return EmptyCodeLoader.INSTANCE;
}
return dexInput.loadFiles(convert.getDexFiles(), convert);
}