refactor: ZipFileSystemUtils

This commit is contained in:
oSumAtrIX
2022-06-27 23:48:26 +02:00
parent 8782cdef67
commit 9f91f63220
2 changed files with 30 additions and 38 deletions

View File

@@ -25,23 +25,23 @@ internal object Patcher {
args.inputFile.copyTo(output)
val result = patcher.save()
val inputFile = if (!args.disableResourcePatching && result.resourceFile != null) {
result.resourceFile
} else null
ZipFileSystemUtils(inputFile, output).use { fileSystem ->
ZipFileSystemUtils(output).use { outputFileSystem ->
// replace all dex files
result.dexFiles.forEach {
logger.info("Writing dex file ${it.name}")
fileSystem.write(it.name, it.dexFileInputStream.readAllBytes())
outputFileSystem.write(it.name, it.dexFileInputStream.readAllBytes())
}
// inputFile being null implies resource patching being disabled
if (inputFile != null) {
// write resources
logger.info("Writing resources")
fileSystem.writeInput()
fileSystem.uncompress(*result.doNotCompress!!.toTypedArray())
if (!args.disableResourcePatching) {
logger.info("Writing resources...")
ZipFileSystemUtils(result.resourceFile!!).use { resourceFileSystem ->
val resourceFiles = resourceFileSystem.getFile(File.pathSeparator)
outputFileSystem.writePathRecursively(resourceFiles)
}
}
outputFileSystem.uncompress(*result.doNotCompress!!.toTypedArray())
}
}
}