mirror of
https://github.com/revanced/revanced-manager-compose-old.git
synced 2025-04-30 14:34:29 +02:00
chore: bump patcher version to 6.0.0
This commit is contained in:
parent
1211fc42a9
commit
9ead261da4
@ -119,7 +119,7 @@ dependencies {
|
|||||||
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")
|
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")
|
||||||
|
|
||||||
// ReVanced
|
// ReVanced
|
||||||
implementation("app.revanced:revanced-patcher:5.1.0")
|
implementation("app.revanced:revanced-patcher:6.0.0")
|
||||||
|
|
||||||
// Coil for network image
|
// Coil for network image
|
||||||
implementation("io.coil-kt:coil-compose:2.1.0")
|
implementation("io.coil-kt:coil-compose:2.1.0")
|
||||||
|
@ -5,7 +5,7 @@ import androidx.compose.runtime.getValue
|
|||||||
import androidx.compose.runtime.mutableStateListOf
|
import androidx.compose.runtime.mutableStateListOf
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import app.revanced.manager.ui.Resource
|
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 app.revanced.patcher.patch.Patch
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ import java.util.*
|
|||||||
object Variables {
|
object Variables {
|
||||||
val selectedAppPackage = mutableStateOf(Optional.empty<String>())
|
val selectedAppPackage = mutableStateOf(Optional.empty<String>())
|
||||||
val selectedPatches = mutableStateListOf<String>()
|
val selectedPatches = mutableStateListOf<String>()
|
||||||
val patches = mutableStateOf<Resource<List<Class<out Patch<Data>>>>>(Resource.Loading)
|
val patches = mutableStateOf<Resource<List<Class<out Patch<Context>>>>>(Resource.Loading)
|
||||||
val patchesState by patches
|
val patchesState by patches
|
||||||
val filteredApps = mutableListOf<ApplicationInfo>()
|
val filteredApps = mutableListOf<ApplicationInfo>()
|
||||||
}
|
}
|
@ -26,12 +26,9 @@ import app.revanced.manager.ui.Resource
|
|||||||
import app.revanced.manager.ui.viewmodel.Logging
|
import app.revanced.manager.ui.viewmodel.Logging
|
||||||
import app.revanced.patcher.Patcher
|
import app.revanced.patcher.Patcher
|
||||||
import app.revanced.patcher.PatcherOptions
|
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.extensions.PatchExtensions.patchName
|
||||||
import app.revanced.patcher.logging.Logger
|
import app.revanced.patcher.logging.Logger
|
||||||
import app.revanced.patcher.patch.Patch
|
import app.revanced.patcher.patch.Patch
|
||||||
import app.revanced.patcher.patch.impl.ResourcePatch
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import org.koin.core.component.KoinComponent
|
import org.koin.core.component.KoinComponent
|
||||||
@ -123,7 +120,6 @@ class PatcherWorker(context: Context, parameters: WorkerParameters, private val
|
|||||||
PatcherOptions(
|
PatcherOptions(
|
||||||
inputFile,
|
inputFile,
|
||||||
cacheDirectory.absolutePath,
|
cacheDirectory.absolutePath,
|
||||||
patchResources = checkForResourcePatch(patches),
|
|
||||||
aaptPath = aaptPath,
|
aaptPath = aaptPath,
|
||||||
frameworkFolderLocation = frameworkPath,
|
frameworkFolderLocation = frameworkPath,
|
||||||
logger = object : Logger {
|
logger = object : Logger {
|
||||||
@ -153,7 +149,7 @@ class PatcherWorker(context: Context, parameters: WorkerParameters, private val
|
|||||||
Logging.log += "Merging integrations\n"
|
Logging.log += "Merging integrations\n"
|
||||||
patcher.addFiles(listOf(integrations)) {}
|
patcher.addFiles(listOf(integrations)) {}
|
||||||
|
|
||||||
patcher.applyPatches().forEach { (patch, result) ->
|
patcher.executePatches().forEach { (patch, result) ->
|
||||||
Logging.log += "Applying $patch\n"
|
Logging.log += "Applying $patch\n"
|
||||||
if (result.isSuccess) {
|
if (result.isSuccess) {
|
||||||
Logging.log += "$patch has been applied successfully\n"
|
Logging.log += "$patch has been applied successfully\n"
|
||||||
@ -190,24 +186,10 @@ class PatcherWorker(context: Context, parameters: WorkerParameters, private val
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun findPatchesByIds(ids: Iterable<String>): List<Class<out Patch<Data>>> {
|
private fun findPatchesByIds(ids: Iterable<String>): List<Class<out Patch<app.revanced.patcher.data.Context>>> {
|
||||||
val (patches) = patches.value as? Resource.Success ?: return listOf()
|
val (patches) = patches.value as? Resource.Success ?: return listOf()
|
||||||
return patches.filter { patch -> ids.any { it == patch.patchName } }
|
return patches.filter { patch -> ids.any { it == patch.patchName } }
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun checkForResourcePatch(patches: List<Class<out Patch<Data>>>): 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 {
|
private fun createWorkDir(): File {
|
||||||
return applicationContext.filesDir.resolve("tmp-${System.currentTimeMillis()}")
|
return applicationContext.filesDir.resolve("tmp-${System.currentTimeMillis()}")
|
||||||
.also { it.mkdirs() }
|
.also { it.mkdirs() }
|
||||||
|
@ -11,12 +11,12 @@ import app.revanced.manager.Variables.selectedAppPackage
|
|||||||
import app.revanced.manager.Variables.selectedPatches
|
import app.revanced.manager.Variables.selectedPatches
|
||||||
import app.revanced.manager.api.API
|
import app.revanced.manager.api.API
|
||||||
import app.revanced.manager.ui.Resource
|
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.compatiblePackages
|
||||||
import app.revanced.patcher.extensions.PatchExtensions.options
|
import app.revanced.patcher.extensions.PatchExtensions.options
|
||||||
import app.revanced.patcher.extensions.PatchExtensions.patchName
|
import app.revanced.patcher.extensions.PatchExtensions.patchName
|
||||||
import app.revanced.patcher.patch.Patch
|
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 dalvik.system.DexClassLoader
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
@ -91,7 +91,7 @@ class PatcherScreenViewModel(private val app: Application, private val api: API)
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun loadPatches0(path: String) {
|
private fun loadPatches0(path: String) {
|
||||||
val patchClasses = DexPatchBundle(
|
val patchClasses = PatchBundle.Dex(
|
||||||
path, DexClassLoader(
|
path, DexClassLoader(
|
||||||
path,
|
path,
|
||||||
app.codeCacheDir.absolutePath,
|
app.codeCacheDir.absolutePath,
|
||||||
@ -130,7 +130,7 @@ class PatcherScreenViewModel(private val app: Application, private val api: API)
|
|||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
data class PatchClass(
|
data class PatchClass(
|
||||||
val patch: Class<out Patch<Data>>,
|
val patch: Class<out Patch<Context>>,
|
||||||
val unsupported: Boolean,
|
val unsupported: Boolean,
|
||||||
val hasPatchOptions: Boolean,
|
val hasPatchOptions: Boolean,
|
||||||
) : Parcelable
|
) : Parcelable
|
Loading…
x
Reference in New Issue
Block a user