feat: generate an exception when an invalid value is entered

This commit is contained in:
inotia00
2023-07-24 04:41:02 +09:00
parent 3663d072b9
commit 63b0227e2a
8 changed files with 45 additions and 26 deletions

View File

@ -7,6 +7,7 @@ import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.OptionsContainer
import app.revanced.patcher.patch.PatchOption
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultError
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.DependsOn
@ -29,11 +30,8 @@ import app.revanced.util.resources.ResourceHelper.updatePatchStatusLabel
class CustomBrandingNamePatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult {
val appName =
if (YouTubeAppName != null)
YouTubeAppName
else
"ReVanced Extended"
val appName = YouTubeAppName
?: throw PatchResultError("Invalid app name.")
context.xmlEditor["res/values/strings.xml"].use { editor ->
val document = editor.file

View File

@ -7,6 +7,7 @@ import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.OptionsContainer
import app.revanced.patcher.patch.PatchOption
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultError
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.DependsOn
@ -41,6 +42,9 @@ class ThemePatch : ResourcePatch {
}
private fun ResourceContext.setTheme(valuesPath: String) {
val darkThemeColor = darkThemeBackgroundColor
?: throw PatchResultError("Invalid color.")
this.xmlEditor["res/$valuesPath/colors.xml"].use { editor ->
val resourcesNode = editor.file.getElementsByTagName("resources").item(0) as Element
@ -49,7 +53,7 @@ class ThemePatch : ResourcePatch {
node.textContent = when (node.getAttribute("name")) {
"yt_black0", "yt_black1", "yt_black1_opacity95", "yt_black1_opacity98", "yt_black2", "yt_black3",
"yt_black4", "yt_status_bar_background_dark", "material_grey_850" -> darkThemeBackgroundColor
"yt_black4", "yt_status_bar_background_dark", "material_grey_850" -> darkThemeColor
else -> continue
}

View File

@ -3,6 +3,7 @@ package app.revanced.patches.youtube.utils.microg.bytecode.patch
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultError
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patches.shared.patch.packagename.PackageNamePatch
@ -37,7 +38,11 @@ class MicroGBytecodePatch : BytecodePatch(
) {
override fun execute(context: BytecodeContext): PatchResult {
val packageName = PackageNamePatch.YouTubePackageName!!
val packageName = PackageNamePatch.YouTubePackageName
?: throw PatchResultError("Invalid package name.")
if (packageName == PACKAGE_NAME)
throw PatchResultError("Original package name is not available as package name for MicroG build.")
// apply common microG patch
MicroGBytecodeHelper.patchBytecode(

View File

@ -5,6 +5,7 @@ import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultError
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.DependsOn
@ -36,7 +37,11 @@ import app.revanced.util.resources.ResourceHelper.setMicroG
class MicroGPatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult {
val packageName = PackageNamePatch.YouTubePackageName!!
val packageName = PackageNamePatch.YouTubePackageName
?: throw PatchResultError("Invalid package name.")
if (packageName == PACKAGE_NAME)
throw PatchResultError("Original package name is not available as package name for MicroG build.")
/**
* Add settings