Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions src/main/kotlin/app/morphe/cli/command/PatchCommand.kt
Original file line number Diff line number Diff line change
Expand Up @@ -380,8 +380,11 @@ internal object PatchCommand : Callable<Int> {
selection.filter { it.enabled != null }.associate {
val enabledSelection = it.enabled!!

(enabledSelection.selector.name ?: patchesList[enabledSelection.selector.index!!].name!!) to
enabledSelection.options
val resolvedName = enabledSelection.selector.name?.let { userInput ->
patchesList.firstOrNull { it.name.equals(userInput, ignoreCase = true) }?.name ?: userInput
} ?: patchesList[enabledSelection.selector.index!!].name!!

resolvedName to enabledSelection.options
}.let(filteredPatches::setOptions)

patcher += filteredPatches
Expand Down Expand Up @@ -556,10 +559,7 @@ internal object PatchCommand : Callable<Int> {
this@filterPatchSelection.withIndex().forEach patchLoop@{ (i, patch) ->
val patchName = patch.name!!

val isManuallyDisabled = patchName.lowercase() in disabledPatches || i in disabledPatchesByIndex
if (isManuallyDisabled) return@patchLoop logger.info("\"$patchName\" disabled manually")

// Make sure the patch is compatible with the supplied APK files package name and version.
// Check package compatibility first to avoid duplicate logs for multi-app patches.
patch.compatiblePackages?.let { packages ->
packages.singleOrNull { (name, _) -> name == packageName }?.let { (_, versions) ->
if (versions?.isEmpty() == true) {
Expand Down Expand Up @@ -587,6 +587,9 @@ internal object PatchCommand : Callable<Int> {
return@let
} ?: logger.fine("\"$patchName\" has no package constraints")

val isManuallyDisabled = patchName.lowercase() in disabledPatches || i in disabledPatchesByIndex
if (isManuallyDisabled) return@patchLoop logger.info("\"$patchName\" disabled manually")

val isEnabled = !exclusive && patch.use
val isManuallyEnabled = patchName.lowercase() in enabledPatchesByName || i in enabledPatchesByIndex

Expand Down