From b3be2794a0e2e6a7baaa78783769f1c3891bcff6 Mon Sep 17 00:00:00 2001 From: Skylot <118523+skylot@users.noreply.github.com> Date: Mon, 22 Dec 2025 21:47:12 +0000 Subject: [PATCH] fix(plugins): reduce plugins-list update checks --- .../src/main/java/jadx/plugins/tools/JadxPluginsList.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/jadx-plugins-tools/src/main/java/jadx/plugins/tools/JadxPluginsList.java b/jadx-plugins-tools/src/main/java/jadx/plugins/tools/JadxPluginsList.java index 62c845b32..d310d9cb8 100644 --- a/jadx-plugins-tools/src/main/java/jadx/plugins/tools/JadxPluginsList.java +++ b/jadx-plugins-tools/src/main/java/jadx/plugins/tools/JadxPluginsList.java @@ -11,6 +11,8 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; @@ -29,6 +31,7 @@ import static jadx.core.utils.GsonUtils.buildGson; import static jadx.plugins.tools.utils.PluginFiles.PLUGINS_LIST_CACHE; public class JadxPluginsList { + private static final Logger LOG = LoggerFactory.getLogger(JadxPluginsList.class); private static final JadxPluginsList INSTANCE = new JadxPluginsList(); private static final Type LIST_TYPE = new TypeToken>() { @@ -64,12 +67,14 @@ public class JadxPluginsList { JadxPluginListCache listCache = loadCache(); if (listCache != null) { consumer.accept(listCache.getList()); + loadedList = listCache; } Release release = fetchLatestRelease(); if (listCache == null || !listCache.getVersion().equals(release.getName())) { JadxPluginListCache updatedList = fetchBundle(release); saveCache(updatedList); consumer.accept(updatedList.getList()); + loadedList = updatedList; } } @@ -98,10 +103,10 @@ public class JadxPluginsList { } catch (Exception e) { throw new RuntimeException("Error saving file: " + PLUGINS_LIST_CACHE, e); } - loadedList = listCache; } private Release fetchLatestRelease() { + LOG.debug("Fetching latest plugins-list release info"); LocationInfo pluginsList = new LocationInfo("jadx-decompiler", "jadx-plugins-list", "list"); Release release = GithubTools.fetchRelease(pluginsList); List assets = release.getAssets(); @@ -112,6 +117,7 @@ public class JadxPluginsList { } private JadxPluginListCache fetchBundle(Release release) { + LOG.debug("Fetching plugins-list bundle: {}", release.getName()); try { Asset listAsset = release.getAssets().get(0); Path tmpListFile = Files.createTempFile("plugins-list", ".zip");