chore: Merge branch dev to main (#314)

This commit is contained in:
oSumAtrIX 2024-10-17 20:01:49 +02:00 committed by GitHub
commit 21b5c079fb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 12 additions and 6 deletions

View File

@ -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)

View File

@ -1,3 +1,3 @@
org.gradle.parallel = true
org.gradle.caching = true
version = 20.0.1
version = 20.0.2-dev.1

View File

@ -62,17 +62,16 @@ class BytecodePatchContext internal constructor(private val config: PatcherConfi
* Merge the extensions for this set of patches.
*/
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 {
classes.forEach { classDef -> put(classDef.type, classDef) }
}
forEachRecursively { patch ->
if (patch is BytecodePatch && patch.extension != null) {
if (patch !is BytecodePatch) return@forEachRecursively
val extension = patch.extension.readAllBytes()
RawDexIO.readRawDexFile(extension, 0, null).classes.forEach { classDef ->
patch.extension?.use { extensionStream ->
RawDexIO.readRawDexFile(extensionStream, 0, null).classes.forEach { classDef ->
val existingClass = classesByType[classDef.type] ?: run {
logger.fine("Adding class \"$classDef\"")