From c282c3a82ffe7d6922f3e9e6f98604e508173912 Mon Sep 17 00:00:00 2001 From: bennett-sh <110846042+bennett-sh@users.noreply.github.com> Date: Wed, 28 Sep 2022 13:14:39 +0200 Subject: [PATCH] feat: `monochrome-icon` patch (#643) --- .../MonochromeIconCompatibility.kt | 9 ++++ .../monochrome/patch/MonochromeIconPatch.kt | 53 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 src/main/kotlin/app/revanced/patches/twitter/misc/monochrome/annotations/MonochromeIconCompatibility.kt create mode 100644 src/main/kotlin/app/revanced/patches/twitter/misc/monochrome/patch/MonochromeIconPatch.kt diff --git a/src/main/kotlin/app/revanced/patches/twitter/misc/monochrome/annotations/MonochromeIconCompatibility.kt b/src/main/kotlin/app/revanced/patches/twitter/misc/monochrome/annotations/MonochromeIconCompatibility.kt new file mode 100644 index 00000000..646ad2b0 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/twitter/misc/monochrome/annotations/MonochromeIconCompatibility.kt @@ -0,0 +1,9 @@ +package app.revanced.patches.twitter.misc.monochrome.annotations + +import app.revanced.patcher.annotation.Compatibility +import app.revanced.patcher.annotation.Package + +@Compatibility([Package("com.twitter.android")]) +@Target(AnnotationTarget.CLASS) +@Retention(AnnotationRetention.RUNTIME) +internal annotation class MonochromeIconCompatibility \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/twitter/misc/monochrome/patch/MonochromeIconPatch.kt b/src/main/kotlin/app/revanced/patches/twitter/misc/monochrome/patch/MonochromeIconPatch.kt new file mode 100644 index 00000000..ec65952e --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/twitter/misc/monochrome/patch/MonochromeIconPatch.kt @@ -0,0 +1,53 @@ +package app.revanced.patches.twitter.misc.monochrome.patch + +import app.revanced.patcher.annotation.Description +import app.revanced.patcher.annotation.Name +import app.revanced.patcher.annotation.Version +import app.revanced.patcher.data.impl.DomFileEditor +import app.revanced.patcher.data.impl.ResourceData +import app.revanced.patcher.patch.PatchResult +import app.revanced.patcher.patch.PatchResultError +import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.Patch +import app.revanced.patcher.patch.impl.ResourcePatch +import app.revanced.patches.twitter.misc.monochrome.annotations.MonochromeIconCompatibility +import java.nio.file.Files + +@Patch +@Name("monochrome-icon") +@Description("Adds a monochrome icon.") +@MonochromeIconCompatibility +@Version("0.0.1") +class MonochromeIconPatch : ResourcePatch() { + override fun execute(data: ResourceData): PatchResult { + val resDirectory = data["res"] + if (!resDirectory.isDirectory) return PatchResultError("The res folder can not be found.") + + val mipmapV33Directory = resDirectory.resolve("mipmap-anydpi-v33") + if (!mipmapV33Directory.isDirectory) Files.createDirectories(mipmapV33Directory.toPath()) + + Files.writeString( + mipmapV33Directory.resolve("ic_launcher_twitter.xml").toPath(), + "\n" + + "\n" + + " \n" + + " \n" + + " \n" + + "" + ) + + Files.writeString( + mipmapV33Directory.resolve("ic_launcher_twitter_round.xml").toPath(), + "\n" + + "\n" + + " \n" + + " \n" + + " \n" + + "" + ) + + return PatchResultSuccess() + } +} \ No newline at end of file