344 Commits

Author SHA1 Message Date
oSumAtrIX
93b29d2e83
chore: assert instead of printing in tests 2023-08-29 03:38:11 +02:00
oSumAtrIX
b832812767
fix: do not flag resource table as sparse when main package is not loaded 2023-08-27 22:14:43 +02:00
oSumAtrIX
64020eec49
chore: add multi-threading opportunity notice 2023-08-26 20:58:19 +02:00
oSumAtrIX
55d694579a
perf: compare types of classes 2023-08-26 19:42:33 +02:00
oSumAtrIX
983563efb6
feat: log when merging integrations 2023-08-26 19:14:29 +02:00
oSumAtrIX
e8f2087a6f
feat: load patches in lexicographical order
This feature was lost in past commits
2023-08-25 17:10:44 +02:00
oSumAtrIX
ba56a6a2ee
feat: properly make use of logging facade
This deprecates the primary constructor of `PatcherOptions` with the `logger` parameter
2023-08-24 04:43:16 +02:00
oSumAtrIX
5938f6b7ea
fix: only emit closed patches that did not throw an exception with the @Patch annotation 2023-08-22 19:00:34 +02:00
oSumAtrIX
0f15077225
fix: supply the parent classloader to DexClassLoader 2023-08-20 19:14:10 +02:00
oSumAtrIX
273dd8d388
feat: do not log instantiation of ReVanced Patcher 2023-08-20 19:14:09 +02:00
oSumAtrIX
6b8977f178
refactor: improve structure and public API
This commit introduces a couple changes besides the refactor. Executing patches can be cancelled, multiple bundles loaded into the same class loader and `Patch.execute` does not have to return anymore.

BREAKING CHANGE: Various public APIs have been changed. The `Version` annotation has been removed. Patches do not return anything anymore and instead throw `PatchException`. Multiple patch bundles can now be loaded in a single ClassLoader to bypass class loader isolation.
2023-08-19 01:45:27 +02:00
oSumAtrIX
db62a1607b
fix: log decoding resources after logging deleting resource cache directory 2023-08-16 16:53:45 +02:00
oSumAtrIX
783ccf8529
fix: only enable logging for ReVanced 2023-08-14 04:02:39 +02:00
oSumAtrIX
8fb2f2dc1d
fix: decode in correct order 2023-08-14 04:02:24 +02:00
oSumAtrIX
c2d89c622e
fix: disable correct loggers 2023-08-12 02:22:52 +02:00
oSumAtrIX
02d6ff15fe
fix: set package metadata correctly 2023-08-12 02:19:28 +02:00
oSumAtrIX
f2cb7ee7df
fix: get framework ids to compile resources 2023-08-12 02:18:43 +02:00
oSumAtrIX
a2ac44dcc1
chore: use more generic inline docs 2023-08-12 02:15:26 +02:00
oSumAtrIX
d5f89a903f
build(Needs bump)!: Bump dependencies
BREAKING CHANGE: This bump updates smali, a crucial dependency
2023-08-11 02:51:37 +02:00
aAbed
746544f9d5
fix: clear method lookup maps before initializing them (#210)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-08-03 13:42:00 +02:00
oSumAtrIX
9755bab298
refactor: remove unnecessary annotation 2023-08-02 00:12:24 +02:00
oSumAtrIX
fae4029cfc
feat: add MutableMethod.getInstructions extension function 2023-08-02 00:11:56 +02:00
oSumAtrIX
c9bbcf2bf2
feat: Deprecate Version annotation 2023-07-28 20:19:01 +02:00
oSumAtrIX
1bca84ef0b
refactor: move code out of try block 2023-07-26 06:28:48 +02:00
oSumAtrIX
e0f8e1b71a
fix: set resource table via resource decoder 2023-07-26 06:28:48 +02:00
oSumAtrIX
416d69142f
fix: correct access flags of PackageMetadata 2023-07-26 06:28:48 +02:00
oSumAtrIX
426807aeaa
refactor: remove unnecessary changes to default config 2023-07-26 06:28:47 +02:00
oSumAtrIX
90cb075a97
build(needs-bump): update dependencies 2023-07-26 06:28:47 +02:00
Palm
69e4a49065
feat: remove Path option (#202)
BREAKING CHANGE: This removes the previously available `Path` option
2023-07-26 04:11:21 +02:00
LisoUseInAIKyrios
9d81baf4b4
fix: clear method lookup maps (#198) 2023-07-01 02:35:49 +02:00
LisoUseInAIKyrios
fcef4342e8
fix: NPE on method lookup (#195) 2023-06-28 21:56:03 +02:00
oSumAtrIX
519359a9eb
fix: do not load annotations as patches 2023-06-27 04:09:03 +02:00
LisoUseInAIKyrios
d718134ab2
perf: resolve fingerprints using method maps (#185)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-06-27 04:06:51 +02:00
oSumAtrIX
6e1b6479b6
fix: use versionCode if versionName is unavailable 2023-06-18 16:39:49 +02:00
oSumAtrIX
d5d6f85084
fix: catch exceptions from closing patches 2023-06-14 02:14:37 +02:00
oSumAtrIX
b8151ebccb
fix: only close succeeded patches 2023-06-14 01:43:19 +02:00
oSumAtrIX
f02a42610b
fix: revert using OutputStream.nullOutputStream
Older Android versions don't support this API
2023-06-12 05:32:13 +02:00
oSumAtrIX
a12fe7dd9e
refactor!: move extension functions to their corresponding classes
BREAKING CHANGE: This changes the import paths for extension functions.
2023-06-07 03:43:17 +02:00
oSumAtrIX
efdd01a988
refactor!: use proper extension function names
BREAKING CHANGE: This changes the names of extension functions
2023-06-07 03:43:13 +02:00
oSumAtrIX
eafe1c631f
refactor: use existing null output stream 2023-06-07 03:32:19 +02:00
oSumAtrIX
aacf900764
fix!: implement extension functions consistently
BREAKING CHANGE: This changes the name of functions
2023-06-07 03:32:19 +02:00
LisoUseInAIKyrios
b6d6a7591b
fix!: check for two methods parameters orders (#183)
BREAKING CHANGE: This requires changes to `MethodFingerprint`
2023-06-07 02:50:38 +02:00
oSumAtrIX
526a3d7c35
refactor!: rename parameter
BREAKING CHANGE: This changes named parameters.
2023-05-24 01:49:07 +02:00
oSumAtrIX
28fc6a2ddd
refactor: apply Kotlin idioms 2023-05-24 01:45:46 +02:00
Jim Man
239ea0bcaa
refactor: simplify loading patches (#172) 2023-05-14 01:55:26 +02:00
badawoll
a2052202b2
feat!: add classDef parameter to MethodFingerprint (#175)
BREAKING CHANGE: This changes the signature of the `customFingerprint` function.
2023-05-11 01:37:17 +02:00
rstular
98f8eedecd
fix: remove count instead of count + 1 instructions with removeInstructions (#167)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>

BREAKING-CHANGE: This alters the behaviour of the function. Instead of removing `count + 1` instructions, this now removes `count` instructions.
2023-05-08 01:03:09 +02:00
oSumAtrIX
49c173dc14
feat: add overload to get instruction as type 2023-05-05 23:36:30 +02:00
oSumAtrIX
6e24a85eab
feat!: merge integrations only when necessary
BREAKING CHANGE: `Patcher.addFiles` is now renamed to `Patcher.addIntegrations`

Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-02-27 00:23:27 +01:00
oSumAtrIX
e4c3e9ffc5
refactor: remove unnecessary annotations
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-02-26 23:18:35 +01:00