From 9ead261da411f77b71b99bf42c145092497ffc25 Mon Sep 17 00:00:00 2001 From: Canny Date: Thu, 6 Oct 2022 20:35:08 +0300 Subject: [PATCH] chore: bump patcher version to 6.0.0 --- app/build.gradle.kts | 2 +- .../java/app/revanced/manager/Variables.kt | 4 ++-- .../manager/patcher/worker/PatcherWorker.kt | 22 ++----------------- .../ui/viewmodel/PatcherScreenViewModel.kt | 8 +++---- 4 files changed, 9 insertions(+), 27 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b425da2..9b528f8 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -119,7 +119,7 @@ dependencies { implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion") // ReVanced - implementation("app.revanced:revanced-patcher:5.1.0") + implementation("app.revanced:revanced-patcher:6.0.0") // Coil for network image implementation("io.coil-kt:coil-compose:2.1.0") diff --git a/app/src/main/java/app/revanced/manager/Variables.kt b/app/src/main/java/app/revanced/manager/Variables.kt index 1c41755..2623490 100644 --- a/app/src/main/java/app/revanced/manager/Variables.kt +++ b/app/src/main/java/app/revanced/manager/Variables.kt @@ -5,7 +5,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateListOf import androidx.compose.runtime.mutableStateOf import app.revanced.manager.ui.Resource -import app.revanced.patcher.data.Data +import app.revanced.patcher.data.Context import app.revanced.patcher.patch.Patch import java.util.* @@ -13,7 +13,7 @@ import java.util.* object Variables { val selectedAppPackage = mutableStateOf(Optional.empty()) val selectedPatches = mutableStateListOf() - val patches = mutableStateOf>>>>(Resource.Loading) + val patches = mutableStateOf>>>>(Resource.Loading) val patchesState by patches val filteredApps = mutableListOf() } \ No newline at end of file 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 862aecd..96a5415 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 @@ -26,12 +26,9 @@ import app.revanced.manager.ui.Resource import app.revanced.manager.ui.viewmodel.Logging import app.revanced.patcher.Patcher import app.revanced.patcher.PatcherOptions -import app.revanced.patcher.data.Data -import app.revanced.patcher.extensions.PatchExtensions.dependencies import app.revanced.patcher.extensions.PatchExtensions.patchName import app.revanced.patcher.logging.Logger import app.revanced.patcher.patch.Patch -import app.revanced.patcher.patch.impl.ResourcePatch import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import org.koin.core.component.KoinComponent @@ -123,7 +120,6 @@ class PatcherWorker(context: Context, parameters: WorkerParameters, private val PatcherOptions( inputFile, cacheDirectory.absolutePath, - patchResources = checkForResourcePatch(patches), aaptPath = aaptPath, frameworkFolderLocation = frameworkPath, logger = object : Logger { @@ -153,7 +149,7 @@ class PatcherWorker(context: Context, parameters: WorkerParameters, private val Logging.log += "Merging integrations\n" patcher.addFiles(listOf(integrations)) {} - patcher.applyPatches().forEach { (patch, result) -> + patcher.executePatches().forEach { (patch, result) -> Logging.log += "Applying $patch\n" if (result.isSuccess) { Logging.log += "$patch has been applied successfully\n" @@ -190,24 +186,10 @@ class PatcherWorker(context: Context, parameters: WorkerParameters, private val return false } - private fun findPatchesByIds(ids: Iterable): List>> { + private fun findPatchesByIds(ids: Iterable): List>> { 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 - } private fun createWorkDir(): File { return applicationContext.filesDir.resolve("tmp-${System.currentTimeMillis()}") .also { it.mkdirs() } diff --git a/app/src/main/java/app/revanced/manager/ui/viewmodel/PatcherScreenViewModel.kt b/app/src/main/java/app/revanced/manager/ui/viewmodel/PatcherScreenViewModel.kt index c73c60a..b47d801 100644 --- a/app/src/main/java/app/revanced/manager/ui/viewmodel/PatcherScreenViewModel.kt +++ b/app/src/main/java/app/revanced/manager/ui/viewmodel/PatcherScreenViewModel.kt @@ -11,12 +11,12 @@ import app.revanced.manager.Variables.selectedAppPackage import app.revanced.manager.Variables.selectedPatches import app.revanced.manager.api.API import app.revanced.manager.ui.Resource -import app.revanced.patcher.data.Data +import app.revanced.patcher.data.Context import app.revanced.patcher.extensions.PatchExtensions.compatiblePackages import app.revanced.patcher.extensions.PatchExtensions.options import app.revanced.patcher.extensions.PatchExtensions.patchName import app.revanced.patcher.patch.Patch -import app.revanced.patcher.util.patch.impl.DexPatchBundle +import app.revanced.patcher.util.patch.PatchBundle import dalvik.system.DexClassLoader import kotlinx.coroutines.launch import kotlinx.parcelize.Parcelize @@ -91,7 +91,7 @@ class PatcherScreenViewModel(private val app: Application, private val api: API) } private fun loadPatches0(path: String) { - val patchClasses = DexPatchBundle( + val patchClasses = PatchBundle.Dex( path, DexClassLoader( path, app.codeCacheDir.absolutePath, @@ -130,7 +130,7 @@ class PatcherScreenViewModel(private val app: Application, private val api: API) @Parcelize data class PatchClass( - val patch: Class>, + val patch: Class>, val unsupported: Boolean, val hasPatchOptions: Boolean, ) : Parcelable \ No newline at end of file