* wip: finished with factories
* wip: bundleconfig.pb
* wip: jadx-aab-input, separate BundleConfig parser
* wip: removed test apks
* wip: proto xml pretty print
* wip: fixed getNamedValues NPE
* minor fixes
* spotless
* enabled zip64 for gui shadow jar
* spotless
* spotless
* reverted manifest identification since signature parsing not working at the moment
* replace static methods with new API methods
---------
Co-authored-by: Skylot <118523+skylot@users.noreply.github.com>
* ADBDialog->launchApp() if multiple devices presented should let user select the one they desire.
* compare objects directly instead parsing
---------
Co-authored-by: Ömer Faruk KAYIKCI <omer.kayikci@tubitak.gov.tr>
Co-authored-by: Skylot <118523+skylot@users.noreply.github.com>
* fix: Ignore invalid files
Avoid NullPointerException when using "Open files" or drag-n-drop
* refactor: Replace Stream API chain with loop
IntelliJ
* fix: Ignore invalid files
Avoid NullPointerException when using "Add files"
* fix: Fall back to complete path string
Instead of empty project name
* fix: Render tree
Project tree (sidebar) didn’t load
Toggling "View > Show flatten packages" threw a NPE here
* fix code formatting
---------
Co-authored-by: Skylot <skylot@gmail.com>
* Update AbstractCodeArea.java
In general, we need data, not text in code. But now every time you copy the highlighted text, you copy the highlighted quotes as well. This often results in an extra need to delete the quotation marks around the sides, which is confusing.
Now when copying selected highlighted text, quotes are not copied in.
* Update AbstractCodeArea.java
fix code format
* additional checks, move to common method
---------
Co-authored-by: Skylot <skylot@gmail.com>
* 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>
This is an attempt to fix the issues that sometimes arise when renaming functions or variables using the "n" shortcut as stated in issue #1440.
The reasoning behind the change: The instance creation of the RenameDialog was somehow affecting the UI thread and not allowing for the key release event to be dispatched. By running everything inside the invokeLater block, this might get fixed as it will execute after all previous tasks are finished.
We now also only show the dialog after EVERYTHING is set up, not before.
Before, the search bar would toggle, which was quite annoying. Now, it replicates IntelliJ's search bar behaviour.
1.1. If the user has selected text, use that as the search text
1.2. Otherwise, use the previous search text (or empty if none)
2. Select all text in the search bar and give it focus
* 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
* Fix: Resolved an issue with incorrectly generated xposedMethodSnippet when the parameter type is generic.
Add: Introduced xposedGenerateFieldSnippet.
* fix code format
* Fixed: Resolved the issue where Xposed code generation was incorrect when dealing with generic parameters and alias fields.
---------
Co-authored-by: skylot <118523+skylot@users.noreply.github.com>
* Fix: Resolved an issue with incorrectly generated xposedMethodSnippet when the parameter type is generic.
Add: Introduced xposedGenerateFieldSnippet.
* fix code format
---------
Co-authored-by: skylot <118523+skylot@users.noreply.github.com>
* chore: created list entry getter getRegListEntry for problematic code;
use specific containers/fields instead of SimpleEntry;
* chore: include details on the used ArtAdapter in error message
* add device info to registers exception
---------
Co-authored-by: Skylot <skylot@gmail.com>
* 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>
* internal: reuse the same parser in Main Activity action and export gradle project
* removed unnecessary logs
* fixed code formatting issues
* removed no longer used methods
* optimize imports
* fix exception when app name isn't found
* use EnumSet instead of int for parse flags
* moved ApplicationParams class under android utils package
* moved attributes parsing to a seperate method
* fallback to any strings.xml if default one is not found
* 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>
* Quark: also display error stream in Jadx log
* use info log level, open log viewer to track progress
---------
Co-authored-by: Skylot <skylot@gmail.com>