Commit Graph

651 Commits

Author SHA1 Message Date
Skylot 015876b790 fix(gui): trim trailing spaces in input files (#2244) 2024-08-10 00:31:25 +01:00
Skylot c37e39a819 chore: code improvements by cleanthat 2024-08-07 00:34:22 +01:00
Skylot 2d58fbd4b1 chore: forbid use ArrayList as a variable type 2024-08-07 00:28:39 +01:00
Mino ffbf800404 feat(gui): Quick Tabs Overhaul (PR #2241)
* restructure quick tabs code

* code formatting

* display open tabs

* added bookmark tabs feature

* fix tabs pin and bookmark not saved

* fix NPE treeModel not initialized

* Fix hardcoded strings

* remove unused statement

* fix NPE again

* added bookmark overlay

* preserve tabs order

* fix context menu actions

* remove unnecessary public modifier

* save tabs in tabbedpane order

* remove unreferenced tabs

* Update jadx-gui/src/main/java/jadx/gui/ui/tab/TabComponent.java

---------

Co-authored-by: skylot <118523+skylot@users.noreply.github.com>
2024-08-06 23:47:25 +01:00
Skylot 287ba49008 fix(gui): show folding actions in code popup menu (#2234) 2024-08-02 17:13:16 +01:00
Mino 1669200e62 feat(gui): smali code folding (PR #2233)
* added smali code folding

* remove unnecessary public modifiers

* improve code

* undo method extract

---------

Co-authored-by: Skylot <118523+skylot@users.noreply.github.com>
2024-08-01 19:33:37 +01:00
Mino 6ab224ea0d feat(gui): pin tabs (PR #2230)
* add ability to pin tabs

* save pinned tabs with Save Project action

* further prevent closing pinned tabs

* add translation entries

* prevent pinning start page

* add pinned tabs tree view

* properly dispose of quickTabsTree

* restructure code

* more unpin context menu items
2024-08-01 18:06:45 +01:00
Mino bda3119e86 fix(gui): horizontal scrolling in Linux (PR #2229)
* fix horizontal scrolling in linux

* improve code

---------

Co-authored-by: Skylot <118523+skylot@users.noreply.github.com>
2024-07-31 17:02:00 +01:00
Mino b26abed686 feat(gui): export resource/class/package (PR #2228)
* feat: export resource

* feat: export class

* restructure code: introduce enum for exporting classes

* feat: export package

* feat: export resource folder

* check directory exists before creation

* apply code formatting

* fix code formatting

* Apply suggestions from code review

---------

Co-authored-by: skylot <118523+skylot@users.noreply.github.com>
2024-07-31 17:00:54 +01:00
Jan S 366225f9be fix(quark): fix automated installation and check exit code of executed external commands (#2119)(PR #2216) 2024-07-12 18:39:17 +01:00
Iscle 05fb77e9bd feat(gui): add button to go to Application class (#2208)(PR #2213)
* feat: Add button to go to Application class

Icons from: https://intellij-icons.jetbrains.design/

* fix: Rename "goto" to "go_to" to keep things consistent
2024-07-08 18:36:45 +01:00
Iscle bbabfa0354 fix(gui): fix Xposed args code generation (PR #2212)
* Rename .java to .kt

* fix: Fix wrong function arguments when generating kotlin xposed code
2024-07-08 18:34:28 +01:00
Artem Zhiganov f5e3a261b4 fix(gui): update russian translation (PR #2209)
Co-authored-by: SVolf <dev@thunderdog.ru>
2024-06-28 18:39:23 +01:00
JustFor 52a884608a fix(gui): update Messages_zh_CN.properties (PR #2203)
sync new texts.
2024-06-14 18:52:31 +01:00
Iscle 74ddfde950 feat(gui): allow to check for unstable releases (PR #2200)
* feat: gui: convert JadxUpdate to Kotlin

* feat: gui: allow updater to check for latest unstable artifacts

* fix: remove nullable operator from onUpdate() interface
2024-06-11 22:49:44 +01:00
Jiaxin Peng 82e2104f3c fix(gui): support filtering files with multiple extensions in file dialog (PR #2185)
* fix(gui): support filtering files with multiple extensions in file dialog

* lint
2024-05-19 17:47:35 +01:00
Skylot 09fa35f144 feat: allow to change config and cache dirs with env vars (#2159) 2024-04-27 21:48:42 +01:00
Andrei Kudryavtsev b85900aa3d feat: move AAB support to separate plugin (PR #2165)
* 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>
2024-04-26 21:54:54 +01:00
Jan S 37a42d1418 fix(gui): show correct content of binary resources in hex view (#2160) (PR #2166) 2024-04-24 19:29:52 +01:00
Skylot bc70f8eabb fix: use correct new line string for simple code writer 2024-04-20 17:37:45 +01:00
Skylot be25cbf8c2 fix: use common parser for manifest, verify app package 2024-04-20 17:37:45 +01:00
Skylot ec9244a635 fix(gui): use common code for manifest parsing in debugger 2024-04-19 20:14:25 +01:00
omerfarukkykc a5bd64461d fix(gui): remember selected device in debugger (PR #2153)
* 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>
2024-04-19 19:02:12 +01:00
JustFor 665c1e57d2 fix(gui): update Messages_zh_CN.properties (PR #2146)
Sync new Jadx text.
2024-04-09 22:11:24 +01:00
Skylot 6e8affcbdc feat: add options to JadxArgs to change code new line and indent (#1945, #1948) 2024-04-08 21:51:24 +01:00
Skylot dbadbb01fc refactor: rename method collectArgsWithoutLoading into collectArgNodes in MethodNode (#2142) 2024-04-07 23:09:02 +01:00
Skylot 0f52077c5c feat: allow to set style for code comments (#2145) 2024-04-07 23:06:32 +01:00
Skylot ecdc4e6757 refactor: move constant collection into separate pass (#2119) 2024-03-30 21:51:02 +00:00
xnumad 6b4976c593 fix(gui): handle paths where file name is null (#2136)(PR #2137)
* 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>
2024-03-29 22:30:01 +00:00
Skylot 463d2b90fa fix: don't apply node positions and prevent eager loading for custom decompile modes (#2116) 2024-03-19 20:23:04 +00:00
JustFor 8760b4ddde fix(gui): copy strings without quotes (PR #2121)
* 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>
2024-03-16 18:55:57 +00:00
Andrei Kudryavtsev 3599b248a4 feat(gui): dragging tab appearance settings (#2120)(PR #2118) 2024-03-08 23:11:58 +03:00
Andrei Kudryavtsev d7ec35791b feat(gui): tabs drag and drop reorder support (#1212) (PR #2109) 2024-02-25 19:36:46 +00:00
Skylot 5c0c1daa71 fix(gui): use new RSTA line number formatter API to show source lines 2024-02-16 18:38:56 +00:00
Emiel Matthys 018ff98df7 feat(gui): remember save preference decision (PR #2103)
* 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>
2024-02-15 18:00:37 +00:00
Andrei Kudryavtsev 7e628ad1a1 fix(gui): detecting tab click with mousePressed instead of mouseClicked (PR #2097) 2024-02-04 17:36:02 +00:00
Skylot 75d2e540aa refactor: add new task executor, remove task barrier (#1879) 2024-01-25 19:45:23 +00:00
Skylot 61be1d8b0a fix(gui): allow to reset variable name, fix renames for inner classes 2024-01-18 20:36:51 +00:00
Skylot 4483533417 fix(gui): highlight word even if cursor at the end of that word (#2083) 2024-01-18 19:40:53 +00:00
Skylot fb703cd856 fix(gui): scroll to first error on jadx script check/run 2024-01-18 18:17:53 +00:00
Skylot c0ff7572ac fix(gui): round file size to block size for cache usage calculation 2024-01-17 18:25:35 +00:00
Iscle 23e643c686 fix(gui): attempt to resolve field rename issues with shortcut (#1440)(PR#2075)
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.
2024-01-05 21:42:06 +03:00
Iscle faeae086d1 feat(gui): improve search bar behavior when using key bindings (PR #2074)
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
2024-01-05 21:31:34 +03:00
Iscle 38e64fafbd feat: add an option to generate kotlin code for xposed (PR #2070)
* 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
2024-01-05 21:24:08 +03:00
Iscle f5accc8464 feat: add support for xapk files (#1597)(PR #2064)
* feat: annotate JadxPlugin with NotNull

Allows for better Kotlin support

* feat: add support for custom resources loader

* feat: add support for xapk resources loading

* fix: rename "decode" to "load"

* refactor: annotate JadxCodeInput with NotNull

* feat: add support for xapk code loading

* feat: add xapk support to file filter

* fix code formatting

* revert NotNull annotation

* several improvements

* refactor: fix typo

---------

Co-authored-by: Skylot <skylot@gmail.com>
2023-12-21 18:46:40 +00:00
Skylot 238fe17df0 fix(gui): add hint for class renaming (#1590) 2023-12-18 18:14:56 +00:00
Skylot 8db70ee7a5 fix(gui): resolve reset and commit issues for disk code cache 2023-12-16 19:20:43 +03:00
LanBaiCode b6155afd32 fix(gui): use correct type for generic params in Xposed snippet (PR #2057)
* 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>
2023-12-11 17:14:10 +00:00
LanBaiCode ca03406a3d fix: correct type for generic params in Xposed snippet, add fields support (PR #2047)
* 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>
2023-11-25 17:55:53 +00:00
Skylot a989fa7e64 refactor(deobf): split deobfuscation conditions (#2040) 2023-11-05 20:22:15 +00:00