mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-05-28 21:00:19 +02:00
feat(Reddit): add Custom branding name Reddit
patch
This commit is contained in:
parent
596236470f
commit
3b27c2ccc1
@ -0,0 +1,62 @@
|
|||||||
|
package app.revanced.patches.reddit.layout.branding.name
|
||||||
|
|
||||||
|
import app.revanced.patcher.data.ResourceContext
|
||||||
|
import app.revanced.patcher.patch.PatchException
|
||||||
|
import app.revanced.patcher.patch.ResourcePatch
|
||||||
|
import app.revanced.patcher.patch.annotation.CompatiblePackage
|
||||||
|
import app.revanced.patcher.patch.annotation.Patch
|
||||||
|
import app.revanced.patcher.patch.options.PatchOption.PatchExtensions.stringPatchOption
|
||||||
|
import java.io.FileWriter
|
||||||
|
import java.nio.file.Files
|
||||||
|
|
||||||
|
@Patch(
|
||||||
|
name = "Custom branding name Reddit",
|
||||||
|
description = "Rename the Reddit app to the name specified in options.json.",
|
||||||
|
compatiblePackages = [CompatiblePackage("com.reddit.frontpage")],
|
||||||
|
use = false
|
||||||
|
)
|
||||||
|
@Suppress("unused")
|
||||||
|
object CustomBrandingNamePatch : ResourcePatch() {
|
||||||
|
private const val APP_NAME = "RVX Reddit"
|
||||||
|
|
||||||
|
private val AppName by stringPatchOption(
|
||||||
|
key = "AppName",
|
||||||
|
default = APP_NAME,
|
||||||
|
title = "App name",
|
||||||
|
description = "The name of the app."
|
||||||
|
)
|
||||||
|
|
||||||
|
override fun execute(context: ResourceContext) {
|
||||||
|
val appName = AppName
|
||||||
|
?: throw PatchException("Invalid app name.")
|
||||||
|
|
||||||
|
val resDirectory = context["res"]
|
||||||
|
|
||||||
|
val valuesV24Directory = resDirectory.resolve("values-v24")
|
||||||
|
if (!valuesV24Directory.isDirectory)
|
||||||
|
Files.createDirectories(valuesV24Directory.toPath())
|
||||||
|
|
||||||
|
val stringsXml = valuesV24Directory.resolve("strings.xml")
|
||||||
|
|
||||||
|
if (!stringsXml.exists()) {
|
||||||
|
FileWriter(stringsXml).use {
|
||||||
|
it.write("<?xml version=\"1.0\" encoding=\"utf-8\"?><resources></resources>")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
context.xmlEditor["res/values-v24/strings.xml"].use { editor ->
|
||||||
|
val document = editor.file
|
||||||
|
|
||||||
|
mapOf(
|
||||||
|
"app_name" to appName
|
||||||
|
).forEach { (k, v) ->
|
||||||
|
val stringElement = document.createElement("string")
|
||||||
|
|
||||||
|
stringElement.setAttribute("name", k)
|
||||||
|
stringElement.textContent = v
|
||||||
|
|
||||||
|
document.getElementsByTagName("resources").item(0).appendChild(stringElement)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user