From 7ec650461935faf2a8fbb667db3cf137157b70b5 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Mon, 25 Nov 2024 22:20:32 +0100 Subject: [PATCH] feat: Warn when option could not be set because the option does not exist --- src/commonMain/kotlin/app/revanced/library/Options.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/commonMain/kotlin/app/revanced/library/Options.kt b/src/commonMain/kotlin/app/revanced/library/Options.kt index 32ada70..2e1bd39 100644 --- a/src/commonMain/kotlin/app/revanced/library/Options.kt +++ b/src/commonMain/kotlin/app/revanced/library/Options.kt @@ -19,11 +19,16 @@ private val logger = Logger.getLogger("Options") * @param options The options to set. The key is the patch name and the value is a map of option keys to option values. */ fun Set>.setOptions(options: PatchesOptions) = filter { it.name != null }.forEach { patch -> - val patchOptions = options[patch.name] ?: return@forEach + options[patch.name]?.forEach setOption@{ (optionKey, optionValue) -> + if (optionKey !in patch.options) { + return@setOption logger.warning( + "Could not set option for the \"${patch.name}\" patch because " + + "option with key \"${optionKey}\" does not exist", + ) + } - patch.options.forEach option@{ option -> try { - patch.options[option.key] = patchOptions[option.key] ?: return@option + patch.options[optionKey] = optionValue } catch (e: OptionException) { logger.warning("Could not set option value for the \"${patch.name}\" patch: ${e.message}") }