diff --git a/app/src/main/java/app/revanced/manager/patcher/worker/PatcherWorker.kt b/app/src/main/java/app/revanced/manager/patcher/worker/PatcherWorker.kt index ef86f43..1359d34 100644 --- a/app/src/main/java/app/revanced/manager/patcher/worker/PatcherWorker.kt +++ b/app/src/main/java/app/revanced/manager/patcher/worker/PatcherWorker.kt @@ -107,7 +107,7 @@ class PatcherWorker(context: Context, parameters: WorkerParameters) : PatcherOptions( inputFile, cacheDirectory.absolutePath, - patchResources = false, + patchResources = checkForResourcePatch(patches), aaptPath = aaptPath, frameworkFolderLocation = frameworkPath, logger = object : Logger { @@ -173,4 +173,18 @@ class PatcherWorker(context: Context, parameters: WorkerParameters) : val (patches) = patches.value as? Resource.Success ?: return listOf() return patches.filter { patch -> ids.any { it == patch.patchName } } } + + private fun checkForResourcePatch(patches: List>>): Boolean { + patches.forEach { patch -> + patch.dependencies?.forEach { + if (ResourcePatch::class.java.isAssignableFrom(patch)) { // check for resource patches in normal patches + return true + } + if (ResourcePatch::class.java.isAssignableFrom(it.java)) { // do the same thing in dependency patches + return true + } + } + } + return false + } }