* Add isDescendantOf and getJavaPackage helper functions
* Add i18n strings for search package
* Added search package to options in SearchSettings
* Add package limiting to each search provider
* Add package search to dialog and logic to get package by string.
* Added search option to package context menu
* Fix spotlessJavaCheck complaints
* Revert changes to individual search providers and add filter to base provider
* First version
* Use dropdown
* Spotless
* Language strings and tests
* Comment out translated versions
* Remove more translations
---------
Co-authored-by: Emiel Matthys <emiel.matthys@guardsquare.com>
* feat: add an option to generate kotlin code for xposed
A new setting was added, bumping the settings version to 19.
* refactor: applied spotless
* refactor: fixed formatting
* refactor: fixed formatting once again
* 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>