fix: callback only when inteded

This commit is contained in:
oSumAtrIX 2022-06-23 08:54:47 +02:00 committed by GitHub
parent 3d61dacbda
commit e3bf367ad6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -128,8 +128,7 @@ class Patcher(private val options: PatcherOptions) {
callback: (File) -> Unit
) {
for (file in files) {
callback(file)
val modified = false
for (classDef in MultiDexIO.readDexFile(true, file, NAMER, null, null).classes) {
val type = classDef.type
@ -139,7 +138,7 @@ class Patcher(private val options: PatcherOptions) {
logger.trace("Merging $type")
data.bytecodeData.classes.internalClasses.add(classDef)
modified = true
continue
}
@ -150,8 +149,9 @@ class Patcher(private val options: PatcherOptions) {
val index = existingClass.second
data.bytecodeData.classes.internalClasses[index] = classDef
modified = true
}
if (modified) callback(file)
}
}
@ -324,4 +324,4 @@ private fun BuildOptions.setBuildOptions(options: PatcherOptions) {
this.aaptPath = options.aaptPath
this.useAapt2 = true
this.frameworkFolderLocation = options.frameworkFolderLocation
}
}