From 92a6c333d8a0514c6e7928cc69e801f8c44f8964 Mon Sep 17 00:00:00 2001 From: Skylot Date: Mon, 20 Jun 2022 12:55:15 +0100 Subject: [PATCH] fix(gui): force jadx new version check by default --- jadx-core/src/main/java/jadx/core/Jadx.java | 4 ++++ .../src/main/java/jadx/gui/settings/JadxSettings.java | 8 ++++++-- jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java | 3 +-- jadx-gui/src/main/java/jadx/gui/update/JadxUpdate.java | 9 +++++---- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/jadx-core/src/main/java/jadx/core/Jadx.java b/jadx-core/src/main/java/jadx/core/Jadx.java index 62c97b165..14372ed7a 100644 --- a/jadx-core/src/main/java/jadx/core/Jadx.java +++ b/jadx-core/src/main/java/jadx/core/Jadx.java @@ -244,6 +244,10 @@ public class Jadx { return version; } + public static boolean isDevVersion() { + return getVersion().equals(VERSION_DEV); + } + private static String searchJadxVersion() { try { ClassLoader classLoader = Jadx.class.getClassLoader(); diff --git a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettings.java b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettings.java index d9e62993e..966c4dfe9 100644 --- a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettings.java +++ b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettings.java @@ -45,7 +45,7 @@ public class JadxSettings extends JadxCLIArgs { private static final Path USER_HOME = Paths.get(System.getProperty("user.home")); private static final int RECENT_PROJECTS_COUNT = 15; - private static final int CURRENT_SETTINGS_VERSION = 17; + private static final int CURRENT_SETTINGS_VERSION = 18; private static final Font DEFAULT_FONT = new RSyntaxTextArea().getFont(); @@ -59,7 +59,7 @@ public class JadxSettings extends JadxCLIArgs { private Path lastOpenFilePath = USER_HOME; private Path lastSaveFilePath = USER_HOME; private boolean flattenPackage = false; - private boolean checkForUpdates = false; + private boolean checkForUpdates = true; private List recentProjects = new ArrayList<>(); private String fontStr = ""; private String smaliFontStr = ""; @@ -715,6 +715,10 @@ public class JadxSettings extends JadxCLIArgs { } fromVersion++; } + if (fromVersion == 17) { + checkForUpdates = true; + fromVersion++; + } if (fromVersion != CURRENT_SETTINGS_VERSION) { LOG.warn("Incorrect settings upgrade. Expected version: {}, got: {}", CURRENT_SETTINGS_VERSION, fromVersion); } diff --git a/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java b/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java index 24e496ec3..01ea5ab82 100644 --- a/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java +++ b/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java @@ -814,7 +814,6 @@ public class MainWindow extends JFrame { } private void initMenuAndToolbar() { - final boolean devVersion = (Jadx.VERSION_DEV.equals(Jadx.getVersion())); Action openAction = new AbstractAction(NLS.str("file.open_action"), ICON_OPEN) { @Override public void actionPerformed(ActionEvent e) { @@ -1124,7 +1123,7 @@ public class MainWindow extends JFrame { JMenu help = new JMenu(NLS.str("menu.help")); help.setMnemonic(KeyEvent.VK_H); help.add(logAction); - if (devVersion) { + if (Jadx.isDevVersion()) { help.add(new AbstractAction("Show sample error report") { @Override public void actionPerformed(ActionEvent e) { diff --git a/jadx-gui/src/main/java/jadx/gui/update/JadxUpdate.java b/jadx-gui/src/main/java/jadx/gui/update/JadxUpdate.java index f5eea33b6..2b959faac 100644 --- a/jadx-gui/src/main/java/jadx/gui/update/JadxUpdate.java +++ b/jadx-gui/src/main/java/jadx/gui/update/JadxUpdate.java @@ -15,6 +15,7 @@ import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import jadx.api.JadxDecompiler; +import jadx.core.Jadx; import jadx.gui.update.data.Release; @SuppressWarnings("SameParameterValue") @@ -56,8 +57,7 @@ public class JadxUpdate { } private static Release checkForNewRelease() throws IOException { - String version = JadxDecompiler.getVersion(); - if (version.contains("dev")) { + if (Jadx.isDevVersion()) { LOG.debug("Ignore check for update: development version"); return null; } @@ -65,11 +65,12 @@ public class JadxUpdate { if (latest == null) { return null; } + String currentVersion = JadxDecompiler.getVersion(); String latestName = latest.getName(); - if (latestName.equalsIgnoreCase(version)) { + if (latestName.equalsIgnoreCase(currentVersion)) { return null; } - if (VersionComparator.checkAndCompare(version, latestName) >= 0) { + if (VersionComparator.checkAndCompare(currentVersion, latestName) >= 0) { return null; } LOG.info("Found new jadx version: {}", latest);