mirror of
https://github.com/ReVanced/revanced-patcher.git
synced 2024-11-10 01:02:22 +01:00
perf: Use a map to merge integrations classes
This commit is contained in:
parent
444dee5a16
commit
6059d3ca26
1 changed files with 4 additions and 4 deletions
|
@ -108,7 +108,8 @@ class BytecodeContext internal constructor(private val options: PatcherOptions)
|
|||
|
||||
logger.info("Merging integrations")
|
||||
|
||||
// TODO: Multi-thread this.
|
||||
val classMap = classes.associateBy { it.type }
|
||||
|
||||
this@Integrations.forEach { integrations ->
|
||||
MultiDexIO.readDexFile(
|
||||
true,
|
||||
|
@ -116,8 +117,8 @@ class BytecodeContext internal constructor(private val options: PatcherOptions)
|
|||
null,
|
||||
null
|
||||
).classes.forEach classDef@{ classDef ->
|
||||
val existingClass = classes.find { it.type == classDef.type } ?: run {
|
||||
logger.fine("Merging $classDef")
|
||||
val existingClass = classMap[classDef.type] ?: run {
|
||||
logger.fine("Adding $classDef")
|
||||
classes.add(classDef)
|
||||
return@classDef
|
||||
}
|
||||
|
@ -131,7 +132,6 @@ class BytecodeContext internal constructor(private val options: PatcherOptions)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
clear()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue