diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e5a874..2e495fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +# [3.1.0-dev.1](https://github.com/ReVanced/revanced-library/compare/v3.0.3-dev.1...v3.1.0-dev.1) (2024-11-25) + + +### Features + +* Warn when option could not be set because the option does not exist ([7ec6504](https://github.com/ReVanced/revanced-library/commit/7ec650461935faf2a8fbb667db3cf137157b70b5)) + +## [3.0.3-dev.1](https://github.com/ReVanced/revanced-library/compare/v3.0.2...v3.0.3-dev.1) (2024-11-11) + + +### Bug Fixes + +* Detect if app is installed by fixing inversion ([649f06b](https://github.com/ReVanced/revanced-library/commit/649f06b19dd4d2a3f3216a0b3ea947b9fe0d475f)) + ## [3.0.2](https://github.com/ReVanced/revanced-library/compare/v3.0.1...v3.0.2) (2024-11-05) ## [3.0.2-dev.1](https://github.com/ReVanced/revanced-library/compare/v3.0.1...v3.0.2-dev.1) (2024-11-05) diff --git a/gradle.properties b/gradle.properties index 83bbbb1..fd422c4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version = 3.0.2 +version = 3.1.0-dev.1 #Gradle org.gradle.jvmargs = -Xmx2048M -Dfile.encoding=UTF-8 -Dkotlin.daemon.jvm.options="-Xmx2048M" org.gradle.caching = true 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}") } diff --git a/src/commonMain/kotlin/app/revanced/library/installation/installer/RootInstaller.kt b/src/commonMain/kotlin/app/revanced/library/installation/installer/RootInstaller.kt index 9fd4fac..2a3514a 100644 --- a/src/commonMain/kotlin/app/revanced/library/installation/installer/RootInstaller.kt +++ b/src/commonMain/kotlin/app/revanced/library/installation/installer/RootInstaller.kt @@ -122,13 +122,12 @@ abstract class RootInstaller internal constructor( * @throws FailedToFindInstalledPackageException If the package is not installed. */ private fun String.assertInstalled() { - if (INSTALLED_APK_PATH(this)().output.isNotEmpty()) { + if (INSTALLED_APK_PATH(this)().output.isEmpty()) { throw FailedToFindInstalledPackageException(this) } } - internal class FailedToFindInstalledPackageException internal constructor(packageName: String) : - Exception("Failed to find installed package \"$packageName\" because no activity was found") + internal class FailedToFindInstalledPackageException internal constructor(packageName: String) : Exception("Failed to find installed package \"$packageName\" because no activity was found") internal class PackageNameRequiredException internal constructor() : Exception("Package name is required") internal class NoRootPermissionException internal constructor() : Exception("No root permission")