* feat(gui): allow user to customize shortcuts
* internal: fixed other constructor for jadx action
* make code area actions customizable
* show warning dialog when mouse button is commonly used
* applied code formatting
* code formatting and and moved string to resources
* moved action related classes to their own package
* added fix for actions with modifiers in macos
* ignore left click in shortcut edit
* applied code formatting
* warn user when a duplicate shortcut is entered
* save shortcut when key is pressed (instead of typed)
* fix node under mouse being ignored
Co-authored-by: skylot <118523+skylot@users.noreply.github.com>
* add missing import
* applied code formatting
* added custom shortcuts support to script content panel
* save shortcut when key is released (instead of pressed)
* enable custom shortcut in script autocomplete
* fix duplicate shortcut warning when the shortcut is set again at the same action
* fixed mouse buttons shortcut not working for code area
* fix exception with mouse button shortcuts
* fix action getting fired twice
* added variants for forward and back nav actions
* fix exception when shortcut is not saved
* fix mouse button shortcut for auto complete action
* consume mouse event if bound to an action
* workaround not being able to extend HashMap
* fix exception in script code area when using mouse button shortcut
* minor pref serialiazation improvement
* fix action buttons not working (like run action)
* fix exception with plugin actinos
* fixed nullptr when adding an action with null actionmodel to jadxmenu
* fix plugin action name not showing
---------
Co-authored-by: skylot <118523+skylot@users.noreply.github.com>
* implemented hex-viewer feature
* added support for opening lib (.so) files
* removed unused class
* fix formatting
* fixed error when opening an empty file
* fixed a slight inaccuracy in synchronizing highlights
* defaulted little endian to false
* synchronize hex editor with theme and use smali font
* fixed wrong displayed values
* applied code formatting
* fixed selection color in preview panel
* Changed Smali Editor font entry in settings less confusing
* implemented feature: 'go to main activity'
* fix code formatting (added braces to if statements)
* search main activity by original class name, handle exceptions
---------
Co-authored-by: Skylot <skylot@gmail.com>
* initial setup for data class and metadata parsing
* bug fix & comments
* better version using plugin system
* added tests
* ignore getters test fix
* logs & imports
* reverted accidental changes
* moved util classes to plugin, spotless apply
* move test and some other minor fixes
---------
Co-authored-by: Skylot <skylot@gmail.com>
* 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>
* Adding logcatController class and writing adb / debugger panel information to the controller.
* Finished parsing logcat binary output and writing an arraylist containing all events.
* added highlighting of logcat output based on type. Added timestamp parsing.
* Updated code to only get new log messages.
* Added additional code for select all
* Completed Check and uncheckall options.
* Changed log highlighting to log color. Changed from JTextArea to JTextPane. Logcat pane will now autoscroll only if it is already scrolled to the bottom. Debugger exit will now stop logcat as well.
* Moved labels into NLS rather than using hardcoded strings.
* Implemented the ability to autoselect attached process. Changed the formatting of logcat messages.
* Moved labels into NLS rather than using hardcoded strings.
* updating to use info getter methods rather than directly accessing variable
* Added Logcat Pause Button
* Added Clear button
* Updated clear icon
* Cleaning warnings
* cleaning
* Changed behavior to only show logcat for debugged process to start with.
* cleaning
* cleaning
* cleaning
* applying spotless
* Fixing bug with switch
* fixed formatting issue
* add missing localization strings
Co-authored-by: green9317 <38409554+green9317@users.noreply.github.com>
Co-authored-by: TheCobraChicken <jeffmlitfi@gmail.com>
Co-authored-by: Skylot <skylot@gmail.com>