mirror of
https://github.com/revanced/revanced-patcher.git
synced 2025-04-30 05:14:26 +02:00
chore: Merge branch dev
to main
(#314)
This commit is contained in:
commit
21b5c079fb
@ -1,3 +1,10 @@
|
|||||||
|
## [20.0.2-dev.1](https://github.com/ReVanced/revanced-patcher/compare/v20.0.1...v20.0.2-dev.1) (2024-10-15)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* Make it work on Android 12 and lower by using existing APIs ([#312](https://github.com/ReVanced/revanced-patcher/issues/312)) ([a44802e](https://github.com/ReVanced/revanced-patcher/commit/a44802ef4ebf59ae47213854ba761c81dadc51f3))
|
||||||
|
|
||||||
## [20.0.1](https://github.com/ReVanced/revanced-patcher/compare/v20.0.0...v20.0.1) (2024-10-13)
|
## [20.0.1](https://github.com/ReVanced/revanced-patcher/compare/v20.0.0...v20.0.1) (2024-10-13)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
org.gradle.parallel = true
|
org.gradle.parallel = true
|
||||||
org.gradle.caching = true
|
org.gradle.caching = true
|
||||||
version = 20.0.1
|
version = 20.0.2-dev.1
|
||||||
|
@ -62,17 +62,16 @@ class BytecodePatchContext internal constructor(private val config: PatcherConfi
|
|||||||
* Merge the extensions for this set of patches.
|
* Merge the extensions for this set of patches.
|
||||||
*/
|
*/
|
||||||
internal fun Set<Patch<*>>.mergeExtensions() {
|
internal fun Set<Patch<*>>.mergeExtensions() {
|
||||||
// Lookup map for fast checking if a class exists by its type.
|
// Lookup map to check if a class exists by its type quickly.
|
||||||
val classesByType = mutableMapOf<String, ClassDef>().apply {
|
val classesByType = mutableMapOf<String, ClassDef>().apply {
|
||||||
classes.forEach { classDef -> put(classDef.type, classDef) }
|
classes.forEach { classDef -> put(classDef.type, classDef) }
|
||||||
}
|
}
|
||||||
|
|
||||||
forEachRecursively { patch ->
|
forEachRecursively { patch ->
|
||||||
if (patch is BytecodePatch && patch.extension != null) {
|
if (patch !is BytecodePatch) return@forEachRecursively
|
||||||
|
|
||||||
val extension = patch.extension.readAllBytes()
|
patch.extension?.use { extensionStream ->
|
||||||
|
RawDexIO.readRawDexFile(extensionStream, 0, null).classes.forEach { classDef ->
|
||||||
RawDexIO.readRawDexFile(extension, 0, null).classes.forEach { classDef ->
|
|
||||||
val existingClass = classesByType[classDef.type] ?: run {
|
val existingClass = classesByType[classDef.type] ?: run {
|
||||||
logger.fine("Adding class \"$classDef\"")
|
logger.fine("Adding class \"$classDef\"")
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user