From 81231206f3d8780665368bdf9ddc703d9b4a173d Mon Sep 17 00:00:00 2001 From: Skylot Date: Sat, 4 Jun 2022 23:26:25 +0100 Subject: [PATCH] fix(gui): reset disk cache on new jadx version --- jadx-core/src/main/java/jadx/api/JadxArgs.java | 2 +- jadx-core/src/main/java/jadx/core/Jadx.java | 9 ++++++--- .../jadx/gui/utils/codecache/disk/DiskCodeCache.java | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/jadx-core/src/main/java/jadx/api/JadxArgs.java b/jadx-core/src/main/java/jadx/api/JadxArgs.java index 57d5a4023..3b3feab37 100644 --- a/jadx-core/src/main/java/jadx/api/JadxArgs.java +++ b/jadx-core/src/main/java/jadx/api/JadxArgs.java @@ -128,7 +128,7 @@ public class JadxArgs { public void close() { try { - inputFiles.clear(); + inputFiles = null; if (codeCache != null) { codeCache.close(); } diff --git a/jadx-core/src/main/java/jadx/core/Jadx.java b/jadx-core/src/main/java/jadx/core/Jadx.java index 72773438e..62c97b165 100644 --- a/jadx-core/src/main/java/jadx/core/Jadx.java +++ b/jadx-core/src/main/java/jadx/core/Jadx.java @@ -238,9 +238,13 @@ public class Jadx { private static String version; public static String getVersion() { - if (version != null) { - return version; + if (version == null) { + version = searchJadxVersion(); } + return version; + } + + private static String searchJadxVersion() { try { ClassLoader classLoader = Jadx.class.getClassLoader(); if (classLoader != null) { @@ -250,7 +254,6 @@ public class Jadx { Manifest manifest = new Manifest(is); String ver = manifest.getMainAttributes().getValue("jadx-version"); if (ver != null) { - version = ver; return ver; } } diff --git a/jadx-gui/src/main/java/jadx/gui/utils/codecache/disk/DiskCodeCache.java b/jadx-gui/src/main/java/jadx/gui/utils/codecache/disk/DiskCodeCache.java index f31fc1b4c..c575dd822 100644 --- a/jadx-gui/src/main/java/jadx/gui/utils/codecache/disk/DiskCodeCache.java +++ b/jadx-gui/src/main/java/jadx/gui/utils/codecache/disk/DiskCodeCache.java @@ -29,6 +29,7 @@ import org.slf4j.LoggerFactory; import jadx.api.ICodeCache; import jadx.api.ICodeInfo; import jadx.api.JadxArgs; +import jadx.core.Jadx; import jadx.core.dex.nodes.RootNode; import jadx.core.utils.Utils; import jadx.core.utils.exceptions.JadxRuntimeException; @@ -190,6 +191,7 @@ public class DiskCodeCache implements ICodeCache { private String buildCodeVersion(JadxArgs args) { return DATA_FORMAT_VERSION + + ":" + Jadx.getVersion() + ":" + args.makeCodeArgsHash() + ":" + buildInputsHash(args.getInputFiles()); }