fix(Custom branding icon): displays an appropriate error if the path to patch options is invalid

This commit is contained in:
inotia00 2023-12-06 13:52:06 +09:00
parent 9b15d234e3
commit b81392a2d4
2 changed files with 29 additions and 21 deletions

View File

@ -68,19 +68,23 @@ object CustomBrandingIconPatch : ResourcePatch() {
directory, *mipmapIconResourceFileNames
)
}.let { resourceGroups ->
val path = File(appIcon)
val resourceDirectory = context["res"]
try {
val path = File(appIcon)
val resourceDirectory = context["res"]
resourceGroups.forEach { group ->
val fromDirectory = path.resolve(group.resourceDirectoryName)
val toDirectory = resourceDirectory.resolve(group.resourceDirectoryName)
resourceGroups.forEach { group ->
val fromDirectory = path.resolve(group.resourceDirectoryName)
val toDirectory = resourceDirectory.resolve(group.resourceDirectoryName)
group.resources.forEach { iconFileName ->
Files.write(
toDirectory.resolve(iconFileName).toPath(),
fromDirectory.resolve(iconFileName).readBytes()
)
group.resources.forEach { iconFileName ->
Files.write(
toDirectory.resolve(iconFileName).toPath(),
fromDirectory.resolve(iconFileName).readBytes()
)
}
}
} catch (_: Exception) {
throw PatchException("Invalid app icon path: $appIcon")
}
}
} else {

View File

@ -113,21 +113,25 @@ object CustomBrandingIconPatch : ResourcePatch() {
directory, *mipmapIconResourceFileNames
)
}.let { resourceGroups ->
val path = File(appIcon)
val resourceDirectory = context["res"]
try {
val path = File(appIcon)
val resourceDirectory = context["res"]
resourceGroups.forEach { group ->
val fromDirectory = path.resolve(group.resourceDirectoryName)
val toDirectory = resourceDirectory.resolve(group.resourceDirectoryName)
resourceGroups.forEach { group ->
val fromDirectory = path.resolve(group.resourceDirectoryName)
val toDirectory = resourceDirectory.resolve(group.resourceDirectoryName)
group.resources.forEach { iconFileName ->
Files.write(
toDirectory.resolve(iconFileName).toPath(),
fromDirectory.resolve(iconFileName).readBytes()
)
group.resources.forEach { iconFileName ->
Files.write(
toDirectory.resolve(iconFileName).toPath(),
fromDirectory.resolve(iconFileName).readBytes()
)
}
}
context.updatePatchStatusIcon("custom")
} catch (_: Exception) {
throw PatchException("Invalid app icon path: $appIcon")
}
context.updatePatchStatusIcon("custom")
}
} else {
val resourcePath = "youtube/branding/$appIconValue"