diff --git a/jadx-gui/src/main/java/jadx/gui/jobs/BackgroundJob.java b/jadx-gui/src/main/java/jadx/gui/jobs/BackgroundJob.java index 097958c5a2f23a0c625d0ef069f033b22b743743..f457b87fc5f741a26cf5fe5412b1a159aa7c37ca 100644 --- a/jadx-gui/src/main/java/jadx/gui/jobs/BackgroundJob.java +++ b/jadx-gui/src/main/java/jadx/gui/jobs/BackgroundJob.java @@ -1,5 +1,6 @@ package jadx.gui.jobs; +import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; @@ -38,10 +39,13 @@ public abstract class BackgroundJob { private class ShutdownTask extends FutureTask { public ShutdownTask() { - super(() -> { - runJob(); - executor.shutdown(); - return executor.awaitTermination(1, TimeUnit.HOURS); + super(new Callable() { + @Override + public Boolean call() throws Exception { + runJob(); + executor.shutdown(); + return executor.awaitTermination(5, TimeUnit.MINUTES); + } }); } diff --git a/jadx-gui/src/main/java/jadx/gui/ui/CommonSearchDialog.java b/jadx-gui/src/main/java/jadx/gui/ui/CommonSearchDialog.java index 8acb6565184cfeb53f6c8d4d1de329945de5bb24..c2717d2aea29b5952f264b24a3a1b5af0af59d99 100644 --- a/jadx-gui/src/main/java/jadx/gui/ui/CommonSearchDialog.java +++ b/jadx-gui/src/main/java/jadx/gui/ui/CommonSearchDialog.java @@ -462,6 +462,11 @@ public abstract class CommonSearchDialog extends JDialog { @Override public void done() { + try { + get(); + } catch (Exception e) { + LOG.error("Load task failed", e); + } loadFinishedCommon(); loadFinished(); }