feat(cli): add decompilation progress

This commit is contained in:
Skylot
2021-03-20 17:59:02 +00:00
parent a5b2b04317
commit c95d64909a
4 changed files with 46 additions and 20 deletions
+8 -1
View File
@@ -42,7 +42,14 @@ public class JadxCLI {
jadxArgs.setCodeWriterProvider(SimpleCodeWriter::new);
try (JadxDecompiler jadx = new JadxDecompiler(jadxArgs)) {
jadx.load();
jadx.save();
if (LogHelper.getLogLevel() == LogHelper.LogLevelEnum.QUIET) {
jadx.save();
} else {
jadx.save(500, (done, total) -> {
int progress = (int) (done * 100.0 / total);
System.out.printf("INFO - progress: %d of %d (%d%%)\r", done, total, progress);
});
}
int errorsCount = jadx.getErrorsCount();
if (errorsCount != 0) {
jadx.printErrorsReport();
@@ -1,5 +1,6 @@
package jadx.cli;
import org.jetbrains.annotations.Nullable;
import org.slf4j.LoggerFactory;
import com.beust.jcommander.IStringConverter;
@@ -31,6 +32,8 @@ public class LogHelper {
}
}
private static LogLevelEnum logLevelValue;
public static void setLogLevelFromArgs(JadxCLIArgs args) {
if (isCustomLogConfig()) {
return;
@@ -46,6 +49,8 @@ public class LogHelper {
}
public static void applyLogLevel(LogLevelEnum logLevel) {
logLevelValue = logLevel;
Logger rootLogger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
rootLogger.setLevel(logLevel.getLevel());
@@ -56,6 +61,11 @@ public class LogHelper {
}
}
@Nullable
public static LogLevelEnum getLogLevel() {
return logLevelValue;
}
private static void setLevelForClass(Class<?> cls, Level level) {
((Logger) LoggerFactory.getLogger(cls)).setLevel(level);
}