From 0abb51c87ae76b18b676d727154ab8c678edc71f Mon Sep 17 00:00:00 2001 From: Skylot Date: Mon, 29 Oct 2018 19:42:34 +0300 Subject: [PATCH] fix(gui): on settings reset run upgrade method --- .../src/main/java/jadx/gui/settings/JadxSettings.java | 5 ++++- .../main/java/jadx/gui/settings/JadxSettingsAdapter.java | 9 ++++++--- .../main/java/jadx/gui/settings/JadxSettingsWindow.java | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) 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 41583351112..1a8eb0b98e0 100644 --- a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettings.java +++ b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettings.java @@ -47,7 +47,10 @@ public class JadxSettings extends JadxCLIArgs { private Map windowPos = new HashMap<>(); - public JadxSettings() { + public static JadxSettings makeDefault() { + JadxSettings jadxSettings = new JadxSettings(); + jadxSettings.fixOnLoad(); + return jadxSettings; } public void sync() { diff --git a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsAdapter.java b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsAdapter.java index e555f5e91cb..66a7a09e51a 100644 --- a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsAdapter.java +++ b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsAdapter.java @@ -46,10 +46,13 @@ public static JadxSettings load() { JadxSettings settings = fromString(jsonSettings); if (settings == null) { LOG.debug("Created new settings."); - settings = new JadxSettings(); + settings = JadxSettings.makeDefault(); + } else { + settings.fixOnLoad(); + } + if (LOG.isDebugEnabled()) { + LOG.debug("Loaded settings: {}", makeString(settings)); } - settings.fixOnLoad(); - LOG.debug("Loaded settings: {}", makeString(settings)); return settings; } catch (Exception e) { LOG.error("Error load settings", e); diff --git a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsWindow.java b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsWindow.java index 1090c391e51..5f0f723348a 100644 --- a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsWindow.java +++ b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsWindow.java @@ -12,8 +12,8 @@ import org.slf4j.LoggerFactory; import say.swing.JFontChooser; -import jadx.gui.ui.codearea.EditorTheme; import jadx.gui.ui.MainWindow; +import jadx.gui.ui.codearea.EditorTheme; import jadx.gui.utils.LangLocale; import jadx.gui.utils.NLS; @@ -94,7 +94,7 @@ private void initUI() { NLS.str("preferences.reset_title"), JOptionPane.YES_NO_OPTION); if (res == JOptionPane.YES_OPTION) { - String defaults = JadxSettingsAdapter.makeString(new JadxSettings()); + String defaults = JadxSettingsAdapter.makeString(JadxSettings.makeDefault()); JadxSettingsAdapter.fill(settings, defaults); getContentPane().removeAll(); initUI();