* Add new CLI args for mapping files and deprecate args regarding jobf files (will be moved to the cache dir in the future) * Add support for importing method arg mappings Also change `mapping-file` to `mappings-path`, since folders are supported, too * Add GUI for importing mappings * Also show save file dialog when exporting mappings * Fix crash on startup when `--mappings-path` parameter is set * Include imported renames when exporting mappings * Add "close mappings" menu entry * Don't instantiate MappingTree unless actually needed * Terminology: `import` → `open`; `export` → `save` * Save location of open mapping file into project data * Correctly reset cache when loading new mappings * Remove unused import * Save opened mappings' last modified date to reset cache when changed * Fix if statement * Correctly handle absence of mappings path in project data * Show overwrite warning for folders only if not empty * Prevent crash when imported mappings don't have any namespaces * Handle wrong mappings namespace count error * Replace unneeded public with private * Add option for saving open mappings directly to disk * Correctly propagate and throw exceptions during decompiler init * Respect opened mappings' existing namespaces; fix related crash * Deduplicate code, add `DalvikToJavaBytecodeUtils` class * Small cleanup; move more functionality to utility class * Support for importing class, field and method mappings * Handle mappings in RenameDialog * Fix checkstyle * Fix wrong naming order * Use modified mapping-io JAR from https://github.com/skylot/jadx/commit/18070eb7a649db0b0daef38d456316d5b4650072 That commit got rid of redundant embedded libraries * Add null checks * Check if mapping tree is null before running MappingsVisitor * Use working mapping-io build * Handle cache invalidation directly in DiskCodeCache class * Don't reset UserRenamesMappingsMode if project is just reloaded * Fix checkstyle Co-authored-by: Skylot <skylot@gmail.com>
This commit is contained in:
@@ -11,6 +11,9 @@ import org.slf4j.LoggerFactory;
|
||||
import jadx.api.ICodeInfo;
|
||||
import jadx.api.impl.NoOpCodeCache;
|
||||
import jadx.core.dex.nodes.ClassNode;
|
||||
import jadx.gui.settings.JadxProject;
|
||||
import jadx.gui.settings.JadxSettings;
|
||||
import jadx.gui.ui.MainWindow;
|
||||
import jadx.gui.utils.codecache.disk.DiskCodeCache;
|
||||
import jadx.tests.api.IntegrationTest;
|
||||
|
||||
@@ -29,7 +32,10 @@ class DiskCodeCacheTest extends IntegrationTest {
|
||||
ClassNode clsNode = getClassNode(DiskCodeCacheTest.class);
|
||||
ICodeInfo codeInfo = clsNode.getCode();
|
||||
|
||||
DiskCodeCache cache = new DiskCodeCache(clsNode.root(), tempDir);
|
||||
JadxSettings settings = new JadxSettings();
|
||||
JadxProject project = new JadxProject(new MainWindow(settings));
|
||||
project.setCacheDir(tempDir);
|
||||
DiskCodeCache cache = new DiskCodeCache(clsNode.root(), project, settings);
|
||||
|
||||
String clsKey = clsNode.getFullName();
|
||||
cache.add(clsKey, codeInfo);
|
||||
|
||||
Reference in New Issue
Block a user