Skip to content

Commit b980bb8

Browse files
authored
fix: Do not log patch name more than once if disabled (MorpheApp#49)
1 parent 714ba2b commit b980bb8

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

src/main/kotlin/app/morphe/cli/command/PatchCommand.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -380,8 +380,11 @@ internal object PatchCommand : Callable<Int> {
380380
selection.filter { it.enabled != null }.associate {
381381
val enabledSelection = it.enabled!!
382382

383-
(enabledSelection.selector.name ?: patchesList[enabledSelection.selector.index!!].name!!) to
384-
enabledSelection.options
383+
val resolvedName = enabledSelection.selector.name?.let { userInput ->
384+
patchesList.firstOrNull { it.name.equals(userInput, ignoreCase = true) }?.name ?: userInput
385+
} ?: patchesList[enabledSelection.selector.index!!].name!!
386+
387+
resolvedName to enabledSelection.options
385388
}.let(filteredPatches::setOptions)
386389

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

559-
val isManuallyDisabled = patchName.lowercase() in disabledPatches || i in disabledPatchesByIndex
560-
if (isManuallyDisabled) return@patchLoop logger.info("\"$patchName\" disabled manually")
561-
562-
// Make sure the patch is compatible with the supplied APK files package name and version.
562+
// Check package compatibility first to avoid duplicate logs for multi-app patches.
563563
patch.compatiblePackages?.let { packages ->
564564
packages.singleOrNull { (name, _) -> name == packageName }?.let { (_, versions) ->
565565
if (versions?.isEmpty() == true) {
@@ -587,6 +587,9 @@ internal object PatchCommand : Callable<Int> {
587587
return@let
588588
} ?: logger.fine("\"$patchName\" has no package constraints")
589589

590+
val isManuallyDisabled = patchName.lowercase() in disabledPatches || i in disabledPatchesByIndex
591+
if (isManuallyDisabled) return@patchLoop logger.info("\"$patchName\" disabled manually")
592+
590593
val isEnabled = !exclusive && patch.use
591594
val isManuallyEnabled = patchName.lowercase() in enabledPatchesByName || i in enabledPatchesByIndex
592595

0 commit comments

Comments
 (0)