gui: update default settings

This commit is contained in:
Skylot
2018-05-26 18:15:54 +03:00
parent 3556e591b0
commit 6d984c0407
3 changed files with 29 additions and 4 deletions
@@ -10,21 +10,24 @@ import java.util.Map;
import java.util.Set;
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import jadx.api.JadxArgs;
import jadx.cli.JadxCLIArgs;
public class JadxSettings extends JadxCLIArgs {
private static final Logger LOG = LoggerFactory.getLogger(JadxSettings.class);
private static final String USER_HOME = System.getProperty("user.home");
private static final int RECENT_FILES_COUNT = 15;
private static final int CURRENT_SETTINGS_VERSION = 1;
private static final Font DEFAULT_FONT = new RSyntaxTextArea().getFont();
static final Set<String> SKIP_FIELDS = new HashSet<>(Arrays.asList(
"files", "input", "outputDir", "verbose", "printHelp"
));
private String lastOpenFilePath = USER_HOME;
private String lastSaveFilePath = USER_HOME;
private boolean flattenPackage = false;
@@ -33,10 +36,11 @@ public class JadxSettings extends JadxCLIArgs {
private String fontStr = "";
private boolean autoStartJobs = false;
private int settingsVersion = 0;
private Map<String, WindowLocation> windowPos = new HashMap<>();
public JadxSettings() {
setSkipResources(true);
}
public void sync() {
@@ -47,6 +51,9 @@ public class JadxSettings extends JadxCLIArgs {
if (threadsCount <= 0) {
threadsCount = JadxArgs.DEFAULT_THREADS_COUNT;
}
if (settingsVersion != CURRENT_SETTINGS_VERSION) {
upgradeSettings(settingsVersion);
}
}
public String getLastOpenFilePath() {
@@ -213,4 +220,20 @@ public class JadxSettings extends JadxCLIArgs {
return "";
}
}
private void upgradeSettings(int fromVersion) {
LOG.debug("upgrade settings from version: {} to {}", fromVersion, CURRENT_SETTINGS_VERSION);
if (fromVersion == 0) {
setDeobfuscationMinLength(4);
setDeobfuscationUseSourceNameAsAlias(true);
setDeobfuscationForceSave(true);
setThreadsCount(1);
setReplaceConsts(true);
setSkipResources(false);
setAutoStartJobs(false);
// fromVersion++;
}
settingsVersion = CURRENT_SETTINGS_VERSION;
sync();
}
}
@@ -1,5 +1,7 @@
package jadx.gui.treemodel;
public abstract class JLoadableNode extends JNode {
private static final long serialVersionUID = 5543590584166374958L;
public abstract void loadNode();
}