From a5a14ac31a2a2f0b7277a84bf7dbff4b64f6a86d Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Fri, 29 Nov 2024 03:18:57 +0100 Subject: [PATCH 1/2] Init --- patches/api/patches.api | 4 + .../patches/all/layout/branding/IconPatch.kt | 137 ++++++++++++++++++ .../layout/compactheader/Fingerprints.kt | 6 +- .../kotlin/app/revanced/util/ResourceUtils.kt | 16 +- 4 files changed, 150 insertions(+), 13 deletions(-) create mode 100644 patches/src/main/kotlin/app/revanced/patches/all/layout/branding/IconPatch.kt diff --git a/patches/api/patches.api b/patches/api/patches.api index 2ba4d9a4e0..dc5e67d404 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -1,3 +1,7 @@ +public final class app/revanced/patches/all/layout/branding/IconPatchKt { + public static final fun getChangeIconPatch ()Lapp/revanced/patcher/patch/ResourcePatch; +} + public final class app/revanced/patches/all/misc/activity/exportall/ExportAllActivitiesPatchKt { public static final fun getExportAllActivitiesPatch ()Lapp/revanced/patcher/patch/ResourcePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/all/layout/branding/IconPatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/layout/branding/IconPatch.kt new file mode 100644 index 0000000000..fbd536649e --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/all/layout/branding/IconPatch.kt @@ -0,0 +1,137 @@ +package app.revanced.patches.all.layout.branding + +import app.revanced.patcher.patch.PatchException +import app.revanced.patcher.patch.ResourcePatchContext +import app.revanced.patcher.patch.resourcePatch +import app.revanced.patcher.patch.stringOption +import app.revanced.patcher.util.Document +import app.revanced.util.getNode +import java.io.File +import java.io.FilenameFilter + +val changeIconPatch = resourcePatch( + name = "Change icon", + description = "Changes the app icon to a custom icon. By default, the \"ReVanced icon\" is used.", + use = false, +) { + val revancedIconOptionValue = "" // Empty value == ReVanced icon. + + val pixelDensities = setOf( + "xxxhdpi", + "xxhdpi", + "xhdpi", + "hdpi", + "mdpi", + ) + + val iconOptions = buildMap { + arrayOf("foreground", "background", "monochrome").forEach { iconType -> + this += pixelDensities.associateBy { + stringOption( + key = "${iconType}IconPath", + default = revancedIconOptionValue, + values = mapOf("ReVanced Logo" to revancedIconOptionValue), + title = "Icon file path (Pixel density: $it, Icon type: $iconType)", + description = "The path to the icon file to apply to the app for the pixel density $it " + + "and icon type $iconType.", + ) + } + } + + // This might confuse the user. + put( + "full", + stringOption( + key = "fullIconPath", + default = revancedIconOptionValue, + values = mapOf("ReVanced Logo" to revancedIconOptionValue), + title = "Full icon file path", + description = "The path to the icon file to apply when the app " + + "does not have a specific icon for the pixel density.", + ), + ) + } + + execute { + manifest { + val applicationNode = getNode("application") + val iconResourceReference = applicationNode.attributes.getNamedItem("android:icon").textContent!! + + val iconResourceFiles = resolve(iconResourceReference) + + iconResourceFiles.forEach { resourceFile -> + if (resourceFile.extension == "xml" && resourceFile.name.startsWith("ic_launcher")) { + val adaptiveIcon = parseAdaptiveIcon(resourceFile) + + // TODO: Replace the background, foreground, and monochrome icons with the custom icons. + } else { + // TODO: Replace the icon with fullIcon. + } + } + } + } +} + +context(ResourcePatchContext) +fun manifest(block: Document.() -> T) = document("AndroidManifest.xml").use(block) + +context(ResourcePatchContext) +private fun resolve(resourceReference: String): List { + val isMipmap = resourceReference.startsWith("@mipmap/") + val isDrawable = resourceReference.startsWith("@drawable/") + + val directories = get("res").listFiles( + if (isMipmap) { + FilenameFilter { _, name -> name.startsWith("mipmap-") } + } else if (isDrawable) { + FilenameFilter { _, name -> name.startsWith("drawable-") } + } else { + throw PatchException("Unsupported resource reference: $resourceReference") + }, + )!! + + // The name does not have an extension. It is the name of the resource. + val resourceName = resourceReference.split("/").last() + val resources = directories.mapNotNull { + // Find the first file that starts with the resource name. + it.listFiles { _, name -> name.startsWith(resourceName) }!!.firstOrNull() + } + + return resources +} + +private class IconResource( + val file: File, + val pixelDensity: String, +) + +context(ResourcePatchContext) +private fun parseAdaptiveIcon(xmlFile: File) = document(xmlFile.absolutePath).use { adaptiveIconNode -> + val adaptiveIcon = adaptiveIconNode.getNode("adaptive-icon") + + fun getIconResourceReference(iconType: String): List? { + val resourceReferenceString = adaptiveIcon.getNode(iconType)?.let { + it.attributes.getNamedItem("android:drawable").textContent!! + } + + if (resourceReferenceString == null) { + return null + } + + return resolve(resourceReferenceString).map { + IconResource(file = it, pixelDensity = it.parentFile.name.split("-").last()) + } + } + + AdaptiveIcon( + getIconResourceReference("background")!!, + getIconResourceReference("foreground")!!, + getIconResourceReference("monochrome"), + ) +} + +private class AdaptiveIcon( + val background: List, + val foreground: List, + val monochrome: List?, +) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/Fingerprints.kt index d7f0f03deb..ea6c1603d3 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/Fingerprints.kt @@ -1,8 +1,8 @@ package app.revanced.patches.music.layout.compactheader -import com.android.tools.smali.dexlib2.Opcode -import com.android.tools.smali.dexlib2.AccessFlags import app.revanced.patcher.fingerprint +import com.android.tools.smali.dexlib2.AccessFlags +import com.android.tools.smali.dexlib2.Opcode internal val constructCategoryBarFingerprint = fingerprint { accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR) @@ -16,7 +16,5 @@ internal val constructCategoryBarFingerprint = fingerprint { Opcode.IPUT_OBJECT, Opcode.CONST, Opcode.INVOKE_VIRTUAL, - Opcode.NEW_INSTANCE, - Opcode.INVOKE_DIRECT, ) } diff --git a/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt b/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt index 7a1496afc3..fad29eaabe 100644 --- a/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt +++ b/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt @@ -23,16 +23,14 @@ fun NodeList.asSequence() = (0 until this.length).asSequence().map { this.item(i * Returns a sequence for all child nodes. */ @Suppress("UNCHECKED_CAST") -fun Node.childElementsSequence() = - this.childNodes.asSequence().filter { it.nodeType == Node.ELEMENT_NODE } as Sequence +fun Node.childElementsSequence() = this.childNodes.asSequence().filter { it.nodeType == Node.ELEMENT_NODE } as Sequence /** * Performs the given [action] on each child element. */ -inline fun Node.forEachChildElement(action: (Element) -> Unit) = - childElementsSequence().forEach { - action(it) - } +inline fun Node.forEachChildElement(action: (Element) -> Unit) = childElementsSequence().forEach { + action(it) +} /** * Recursively traverse the DOM tree starting from the given root node. @@ -141,7 +139,8 @@ internal fun Node.addResource( appendChild(resource.serialize(ownerDocument, resourceCallback)) } -internal fun org.w3c.dom.Document.getNode(tagName: String) = this.getElementsByTagName(tagName).item(0) +internal fun org.w3c.dom.Document.getNode(tagName: String) = getElementsByTagName(tagName).item(0) +internal fun Node.getNode(tagName: String) = childNodes.asSequence().find { it.nodeName == tagName } internal fun NodeList.findElementByAttributeValue(attributeName: String, value: String): Element? { for (i in 0 until length) { @@ -164,8 +163,7 @@ internal fun NodeList.findElementByAttributeValue(attributeName: String, value: return null } -internal fun NodeList.findElementByAttributeValueOrThrow(attributeName: String, value: String) = - findElementByAttributeValue(attributeName, value) ?: throw PatchException("Could not find: $attributeName $value") +internal fun NodeList.findElementByAttributeValueOrThrow(attributeName: String, value: String) = findElementByAttributeValue(attributeName, value) ?: throw PatchException("Could not find: $attributeName $value") internal fun Element.copyAttributesFrom(oldContainer: Element) { // Copy attributes from the old element to the new element From 5c1905f93777e9ada054068cefaa942a34f81761 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Sun, 1 Dec 2024 09:15:02 +0100 Subject: [PATCH 2/2] finish first working version --- .../patches/all/layout/branding/IconPatch.kt | 228 ++++++++++-------- .../revanced-icon-monochrome.png | Bin 0 -> 2989 bytes .../revanced-icon-monochrome.png | Bin 0 -> 1825 bytes .../revanced-icon-monochrome.png | Bin 0 -> 4281 bytes .../revanced-icon-monochrome.png | Bin 0 -> 6760 bytes .../revanced-icon-monochrome.png | Bin 0 -> 9782 bytes .../mipmap-hdpi/revanced-icon-background.png | Bin 0 -> 2089 bytes .../mipmap-hdpi/revanced-icon-foreground.png | Bin 0 -> 3504 bytes .../mipmap-hdpi/revanced-icon-round.png | Bin 0 -> 2989 bytes .../change-icon/mipmap-hdpi/revanced-icon.png | Bin 0 -> 2989 bytes .../mipmap-mdpi/revanced-icon-background.png | Bin 0 -> 1954 bytes .../mipmap-mdpi/revanced-icon-foreground.png | Bin 0 -> 2777 bytes .../mipmap-mdpi/revanced-icon-round.png | Bin 0 -> 1825 bytes .../change-icon/mipmap-mdpi/revanced-icon.png | Bin 0 -> 1825 bytes .../mipmap-xhdpi/revanced-icon-background.png | Bin 0 -> 2290 bytes .../mipmap-xhdpi/revanced-icon-foreground.png | Bin 0 -> 4418 bytes .../mipmap-xhdpi/revanced-icon-round.png | Bin 0 -> 4281 bytes .../mipmap-xhdpi/revanced-icon.png | Bin 0 -> 4281 bytes .../revanced-icon-background.png | Bin 0 -> 2657 bytes .../revanced-icon-foreground.png | Bin 0 -> 6194 bytes .../mipmap-xxhdpi/revanced-icon-round.png | Bin 0 -> 6760 bytes .../mipmap-xxhdpi/revanced-icon.png | Bin 0 -> 6760 bytes .../revanced-icon-background.png | Bin 0 -> 2968 bytes .../revanced-icon-foreground.png | Bin 0 -> 8320 bytes .../mipmap-xxxhdpi/revanced-icon-round.png | Bin 0 -> 9782 bytes .../mipmap-xxxhdpi/revanced-icon.png | Bin 0 -> 9782 bytes 26 files changed, 123 insertions(+), 105 deletions(-) create mode 100644 patches/src/main/resources/change-icon/drawable-hdpi/revanced-icon-monochrome.png create mode 100644 patches/src/main/resources/change-icon/drawable-mdpi/revanced-icon-monochrome.png create mode 100644 patches/src/main/resources/change-icon/drawable-xhdpi/revanced-icon-monochrome.png create mode 100644 patches/src/main/resources/change-icon/drawable-xxhdpi/revanced-icon-monochrome.png create mode 100644 patches/src/main/resources/change-icon/drawable-xxxhdpi/revanced-icon-monochrome.png create mode 100644 patches/src/main/resources/change-icon/mipmap-hdpi/revanced-icon-background.png create mode 100644 patches/src/main/resources/change-icon/mipmap-hdpi/revanced-icon-foreground.png create mode 100644 patches/src/main/resources/change-icon/mipmap-hdpi/revanced-icon-round.png create mode 100644 patches/src/main/resources/change-icon/mipmap-hdpi/revanced-icon.png create mode 100644 patches/src/main/resources/change-icon/mipmap-mdpi/revanced-icon-background.png create mode 100644 patches/src/main/resources/change-icon/mipmap-mdpi/revanced-icon-foreground.png create mode 100644 patches/src/main/resources/change-icon/mipmap-mdpi/revanced-icon-round.png create mode 100644 patches/src/main/resources/change-icon/mipmap-mdpi/revanced-icon.png create mode 100644 patches/src/main/resources/change-icon/mipmap-xhdpi/revanced-icon-background.png create mode 100644 patches/src/main/resources/change-icon/mipmap-xhdpi/revanced-icon-foreground.png create mode 100644 patches/src/main/resources/change-icon/mipmap-xhdpi/revanced-icon-round.png create mode 100644 patches/src/main/resources/change-icon/mipmap-xhdpi/revanced-icon.png create mode 100644 patches/src/main/resources/change-icon/mipmap-xxhdpi/revanced-icon-background.png create mode 100644 patches/src/main/resources/change-icon/mipmap-xxhdpi/revanced-icon-foreground.png create mode 100644 patches/src/main/resources/change-icon/mipmap-xxhdpi/revanced-icon-round.png create mode 100644 patches/src/main/resources/change-icon/mipmap-xxhdpi/revanced-icon.png create mode 100644 patches/src/main/resources/change-icon/mipmap-xxxhdpi/revanced-icon-background.png create mode 100644 patches/src/main/resources/change-icon/mipmap-xxxhdpi/revanced-icon-foreground.png create mode 100644 patches/src/main/resources/change-icon/mipmap-xxxhdpi/revanced-icon-round.png create mode 100644 patches/src/main/resources/change-icon/mipmap-xxxhdpi/revanced-icon.png diff --git a/patches/src/main/kotlin/app/revanced/patches/all/layout/branding/IconPatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/layout/branding/IconPatch.kt index fbd536649e..c147e99755 100644 --- a/patches/src/main/kotlin/app/revanced/patches/all/layout/branding/IconPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/all/layout/branding/IconPatch.kt @@ -1,137 +1,155 @@ package app.revanced.patches.all.layout.branding -import app.revanced.patcher.patch.PatchException -import app.revanced.patcher.patch.ResourcePatchContext -import app.revanced.patcher.patch.resourcePatch -import app.revanced.patcher.patch.stringOption -import app.revanced.patcher.util.Document +import app.revanced.patcher.patch.* import app.revanced.util.getNode -import java.io.File -import java.io.FilenameFilter +import app.revanced.util.inputStreamFromBundledResource +import java.io.InputStream +import java.nio.file.Files +import java.nio.file.StandardCopyOption + +private const val FULL_ICON = 0 +private const val ROUND_ICON = 1 +private const val BACKGROUND_ICON = 2 +private const val FOREGROUND_ICON = 3 +private const val MONOCHROME_ICON = 4 val changeIconPatch = resourcePatch( name = "Change icon", - description = "Changes the app icon to a custom icon. By default, the \"ReVanced icon\" is used.", + description = "Changes the app icon to a custom icon. By default, the ReVanced icon is used.", use = false, ) { - val revancedIconOptionValue = "" // Empty value == ReVanced icon. + val revancedIconOptionValue = emptyList() // Empty list == ReVanced icon. val pixelDensities = setOf( - "xxxhdpi", - "xxhdpi", - "xhdpi", - "hdpi", "mdpi", + "hdpi", + "xhdpi", + "xxhdpi", + "xxxhdpi", ) - val iconOptions = buildMap { - arrayOf("foreground", "background", "monochrome").forEach { iconType -> - this += pixelDensities.associateBy { - stringOption( - key = "${iconType}IconPath", - default = revancedIconOptionValue, - values = mapOf("ReVanced Logo" to revancedIconOptionValue), - title = "Icon file path (Pixel density: $it, Icon type: $iconType)", - description = "The path to the icon file to apply to the app for the pixel density $it " + - "and icon type $iconType.", - ) - } - } - - // This might confuse the user. - put( - "full", - stringOption( - key = "fullIconPath", - default = revancedIconOptionValue, - values = mapOf("ReVanced Logo" to revancedIconOptionValue), - title = "Full icon file path", - description = "The path to the icon file to apply when the app " + - "does not have a specific icon for the pixel density.", - ), + val iconOptions = pixelDensities.associateWith { pixelDensity -> + stringsOption( + key = "${pixelDensity}Icons", + default = revancedIconOptionValue, + values = mapOf("ReVanced logo" to revancedIconOptionValue), + title = "Icons (Pixel density: $pixelDensity)", + description = buildString { + appendLine("Provide paths to the following icons for pixel density $pixelDensity (PNG, JPG, WEBP, or vector drawable XML):") + appendLine("1. Launcher icon (required)") + appendLine("2. Round icon (optional, Android 7+)") + appendLine("\nYou can use adaptive icons (Android 8+) by providing the following additional icons:") + appendLine("\n3. Background icon (optional)") + appendLine("4. Foreground icon (optional)") + appendLine("5. Monochrome icon (optional, Android 13+") + appendLine("\nIcons must be provided in the same order as listed above. Missing optional icons can be skipped by leaving the field empty.") + appendLine("\nYou can create custom icon sets at https://icon.kitchen.") + }, + required = true, ) } execute { - manifest { - val applicationNode = getNode("application") - val iconResourceReference = applicationNode.attributes.getNamedItem("android:icon").textContent!! - - val iconResourceFiles = resolve(iconResourceReference) - - iconResourceFiles.forEach { resourceFile -> - if (resourceFile.extension == "xml" && resourceFile.name.startsWith("ic_launcher")) { - val adaptiveIcon = parseAdaptiveIcon(resourceFile) - - // TODO: Replace the background, foreground, and monochrome icons with the custom icons. - } else { - // TODO: Replace the icon with fullIcon. + val firstPixelDensity = pixelDensities.first() + + fun patchIcon( + getIcon: (String, Int) -> String?, + readIcon: (String) -> InputStream, + ) { + // Any density, as the user should provide the icons for all densities. + + // region Change the app icon in the AndroidManifest.xml file. + + // If a round icon is provided, set the android:roundIcon attribute. + document("AndroidManifest.xml").use { + it.getNode("application").attributes.apply { + getNamedItem("android:icon").textContent = "@mipmap/ic_launcher" + + val roundIcon = getIcon(firstPixelDensity, ROUND_ICON) + if (roundIcon?.isNotEmpty() == true) { + val roundIconAttribute = getNamedItem("android:roundIcon") + ?: setNamedItem(it.createAttribute("android:roundIcon")) + roundIconAttribute.textContent = "@mipmap/ic_launcher_round" + } } } - } - } -} -context(ResourcePatchContext) -fun manifest(block: Document.() -> T) = document("AndroidManifest.xml").use(block) + // endregion -context(ResourcePatchContext) -private fun resolve(resourceReference: String): List { - val isMipmap = resourceReference.startsWith("@mipmap/") - val isDrawable = resourceReference.startsWith("@drawable/") + // region Change the app icon for each pixel density. - val directories = get("res").listFiles( - if (isMipmap) { - FilenameFilter { _, name -> name.startsWith("mipmap-") } - } else if (isDrawable) { - FilenameFilter { _, name -> name.startsWith("drawable-") } - } else { - throw PatchException("Unsupported resource reference: $resourceReference") - }, - )!! - - // The name does not have an extension. It is the name of the resource. - val resourceName = resourceReference.split("/").last() - val resources = directories.mapNotNull { - // Find the first file that starts with the resource name. - it.listFiles { _, name -> name.startsWith(resourceName) }!!.firstOrNull() - } + val hasAdaptiveIcon = getIcon(firstPixelDensity, BACKGROUND_ICON) - return resources -} + if (hasAdaptiveIcon?.isNotEmpty() == true) { + val monochromeIconXmlString = if (getIcon(firstPixelDensity, MONOCHROME_ICON)?.isNotEmpty() == true) { + "" + } else { + "" + } -private class IconResource( - val file: File, - val pixelDensity: String, -) + // If an adaptive icon is provided, add the adaptive icon XML file to the res/mipmap-anydpi directory. + get("res/mipmap-anydpi/ic_launcher.xml").writeText( + """ + + + + + $monochromeIconXmlString + + """.trimIndent(), + ) + } -context(ResourcePatchContext) -private fun parseAdaptiveIcon(xmlFile: File) = document(xmlFile.absolutePath).use { adaptiveIconNode -> - val adaptiveIcon = adaptiveIconNode.getNode("adaptive-icon") + pixelDensities.forEach { pixelDensity -> + val icon = getIcon(pixelDensity, FULL_ICON)!! + // Safe call (?.) is used because the user may just provide the full icon and skip the other optional icons. + val roundIcon = getIcon(pixelDensity, ROUND_ICON) + val backgroundIcon = getIcon(pixelDensity, BACKGROUND_ICON) + val foregroundIcon = getIcon(pixelDensity, FOREGROUND_ICON) + val monochromeIcon = getIcon(pixelDensity, MONOCHROME_ICON) + + infix fun String?.to(target: String) { + if (isNullOrEmpty()) { + return + } + + Files.copy( + readIcon(this), + get("res/$target").toPath(), + StandardCopyOption.REPLACE_EXISTING, + ) + } - fun getIconResourceReference(iconType: String): List? { - val resourceReferenceString = adaptiveIcon.getNode(iconType)?.let { - it.attributes.getNamedItem("android:drawable").textContent!! - } + // Copy the icons to the mipmap directory. + icon to "mipmap-$pixelDensity/ic_launcher.png" + roundIcon to "mipmap-$pixelDensity/ic_launcher_round.png" + backgroundIcon to "mipmap-$pixelDensity/ic_launcher_background.png" + foregroundIcon to "mipmap-$pixelDensity/ic_launcher_foreground.png" + monochromeIcon to "drawable-$pixelDensity/ic_launcher_monochrome.png" + } - if (resourceReferenceString == null) { - return null + // endregion } - return resolve(resourceReferenceString).map { - IconResource(file = it, pixelDensity = it.parentFile.name.split("-").last()) + if (iconOptions[firstPixelDensity]!!.value === revancedIconOptionValue) { + patchIcon({ pixelDensity, iconIndex -> + when (iconIndex) { + FULL_ICON -> "mipmap-$pixelDensity/revanced-icon" + ROUND_ICON -> "mipmap-$pixelDensity/revanced-icon-round" + BACKGROUND_ICON -> "mipmap-$pixelDensity/revanced-icon-background" + FOREGROUND_ICON -> "mipmap-$pixelDensity/revanced-icon-foreground" + MONOCHROME_ICON -> "drawable-$pixelDensity/revanced-icon-monochrome" + else -> throw IllegalArgumentException("Invalid icon index: $iconIndex") + } + }) { icon -> + inputStreamFromBundledResource("change-icon", "$icon.png")!! + } + } else { + patchIcon({ pixelDensity, iconIndex -> + iconOptions[pixelDensity]?.value?.get(iconIndex) + }) { icon -> + get(icon).inputStream() + } } } - - AdaptiveIcon( - getIconResourceReference("background")!!, - getIconResourceReference("foreground")!!, - getIconResourceReference("monochrome"), - ) } - -private class AdaptiveIcon( - val background: List, - val foreground: List, - val monochrome: List?, -) diff --git a/patches/src/main/resources/change-icon/drawable-hdpi/revanced-icon-monochrome.png b/patches/src/main/resources/change-icon/drawable-hdpi/revanced-icon-monochrome.png new file mode 100644 index 0000000000000000000000000000000000000000..5adf8939817570835394999db679d37b400a289d GIT binary patch literal 2989 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/drawable-mdpi/revanced-icon-monochrome.png b/patches/src/main/resources/change-icon/drawable-mdpi/revanced-icon-monochrome.png new file mode 100644 index 0000000000000000000000000000000000000000..46117b63ab0226e4b276100219ba0d68ed388473 GIT binary patch literal 1825 zcmV++2j2LJP)4FuAc8H|~Ab#=M;=^S(sT^F{~CigLNoHrpA6%~cCSj>#YjH)DJChj@)q`(J! zWlbg#k3=F5R#sZCR8~d~Mx&8m7zw_2k$+wS7s# zADP%?2KmHg*usZl7<1fWWKu+(t7{JWIukhKAas*4?h(+{ZO_1`j03@HWUN2z#*9Xz zk8rR-E%3Nyng2;r&KbTF+-wIC!!7ny#dg3m^fm{$p@K&umby+G(w9o)24cB!@GCm` z11gxDHD?KA0ym{^@jJ&n=*GpX*t-EY+9Byw)vq&frlG~L4hL@ag6Aac=HXfBoa{6! zu;Vd@&oxe-8e8n~+)Qsdon;w%5<7HmDMjtUOny~VYgiZO*@8^Kx?x$?V>(AS(ds_A zRq9POT~Hh%5%V{Vqw5n}EDtZ&Ytk6m-;LeIFT?|qSAoLeaGTCm7m*P!QvoL+p0JtR z=hKDa!u-ybm6a9goR!GgH@8Tm>8$%y5UXHWMyt*lVsB0IVCJj#SFT(^?d|Q<*tn5a zRWG7^z&1n(3uTguIT46=s*`Xuyy*o4Fo4Hqs!b2wK9R3_O`?Wty0lf<5pG0 z>Bx~Ibp85udT#xC+P-Qt9dG>B6>qHEBy^w)8`wJi-2pdcGj9WD#a*lbC-8+-@;v(r z8#g{rSFc{B?(S}?onJ!-)_q3bzt}wixQ8+5Ko>SnKOP{saROfjCLZx|#yy;o|{)E0u3o zc;&N|{GzSxO}cXB3UzjNQfzLVwsF0Gy18FqTf@gRx3W@LZMJK5B#kwO$Gb*?W3`=G1|3jC(Y$mXjuE60IqlM-YuFJI!-$u5Zt)jFY%-= zuoK`Cnjg(T0&CW+rlFxBI(6z4EnT|AzK?6%!x(g&c0OPyz)xhgl?DQ(rKNNECO&=G zN>f2R9;2?VFU2m?($ZqzZ*6T6_b>(>r=1U|5*p?nsJ0V8LvR9VHL=3lwNHpL>g(&H zdGo3SaE*HybL#tqY~t`xVPRp&PJm@LH}Qb3G*y6bZ*MOR4-ZpQ(+kwx+)N`QBh=H= zBgUNiKB1ligUq==k;i_T!+UF&u9Ob8Zhe(TM@Q-C(W3&m#yzLr6d<@6M(7*njHhsp zdK}LPhb!8o5{?qSjuTGcA$9unX&N6N7dUa^#8e+#Is`8qB|@RHo!~s-D8c*cvS`%& zM=Gbi3VZhK5!)t!Ez~*g7ff6>aQNS%qM}E&>ama0h1>`INhR;c=~TdjtD~bs0N2iO zzfhdG{*N)&V#(Ql6%c*E&x7sKAnh{BFzoW-{U7Bc_$u-c@q&<_pI^yJXJK?NzEbk+ zC-U<0;yPztkWn75!d_{3udISS`@vwa0~{sSNun|`xlvBSI1{~)E))mT4E@gBqLO3E z&y2`yHt$FqIO8!GPG>2p*x4d+5G6~xA%6Hk_magt-aj9491<`ySVB5e4eDO~60sCGkV<492hV>(8CM;{1v8=qj zbT1#nk1>f+mt;}`y0C#Qe889V>1m%&S1>aOlFu+04;2&?Ji~{qcd_M#!^R*#$rGk& z{>ddW0wk})35-Dpy0Bqed|7}G_=3+#=bO7J>VGB>7~kwcB+jVG&CRXjL)Yp#b7t2A zxW+w8-DkSa0M P00000NkvXXu0mjf&ZBT@ literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/drawable-xhdpi/revanced-icon-monochrome.png b/patches/src/main/resources/change-icon/drawable-xhdpi/revanced-icon-monochrome.png new file mode 100644 index 0000000000000000000000000000000000000000..224d6643465f529ef5e2c4403c0e9c26149e0368 GIT binary patch literal 4281 zcmV;q5JvBbP)bbMFO&Wfx?*6b&UP2$mp-uvmgtNXioN2=Yg)GDH$fjR}U}0f`5g zpur$2nv@D+%)u2ZffQ;<35r|-Q9z`yU3O-^-JMtd%HiwRue*P* z`}OtBtizF&tTaO|B6LycdLFPI@?@oz0s^}!fYjCs^0FP+%t{hLZ|z!NU!Q~jTN7DA zp-`UR?>BSYxQ(9VD1K=~BAq_g#e46NGWJidjv4_TxQBzaXy{s(QHxh|VE-4A$ zPgov_gx3>x5cUy{5>66MDd01n?NvJKkq3EU1GZpOFT)Wn^Fl{hyOp?xmz0!*=)Y-1 z+EOBL8{un$Xd}SZe_%UWMoCC7+tJt&I=t{iDaGsc7E%wrf$(BD96pqQI1vtq&JxaO zz`xH@+BqHk+^TD}7qyA9A}^wB)FD~@I+DaRjN*1BHU0r2V`n@$F$8~SO>YHY!*o!B z^qr^+>XfX$?O8a^N}-`&MU8!&8hy+{&}opQK3fTDYeTE(psU3&vB5Y)dz^Bs+0$Tsr=SEMUd^7mZX zP$<~$dVMlj+VTgj&6#xqPqxtwRp@P1LEaq2HKd)xY!`*6wJw*dSmz)UBE4T;Uhbqy zZB`Y_^s+M5kjqx}c?-=8Zk>yCiYzeN^TV4^p^g-C&IfKQt&lc5Npw!qA-n>hm>+se zuTW<~qZ5K_i3<)xDPJ9#YhYUKJRhw0ugr_p3^z>-@&9 z;DbI92m~I`Icjs^*`6kzYqSb<#MMqq!7C#QOQ8umS8XYBf-wxkABo;Nb;`J(41Bgl z4%p{*yCXVhZ6Szl5>(J1qXlKjw}Lqd1_LiU8sExjlfygdN%HPAt-#J4_me?#qUM8{ zI(HW$azd%BbQP2Fk5vJ-J4&_-m>XJ}?hb_ty*h`j6=bH+6a1N8Ko(5`_X;!$j7Pzp z;;>aBGnSV6DN!6oM-;M;1%sZxipy4oB4nc8A6^85+1}qG$Wh?;`;jAna(^PxsT@Jo-!bFt#IMSBAk`_0RhEcq>m+#%B_cnDl7PMan2 zEW_vX6+|MT4`3`Cep-&k%~{~1qM{-`wr@Zc=y(Y9Iyfg z(y{BEHS7Cg@7}%Q$dMyrUSB6p^|L?iy9&zs6ITN#I-!7luT6c}uIpKF= z_rzyg1>}Vd*n&;H43ufDM+zXh3kCxRola-D;yC$Sz%L(#!+|N9k(7oXptiQZ*uQ_j zNzOa(yd!FA`iaVtGV$W*`QrWSpKleA7dBuEHrYPPLYdZjqyT0Z^7%ZsfZGJG$;Sx1 z(}glTsSKpN_X7wIOO`w(&YnFh2|97&gqS>el1!V_|0?m`glELo$uG1B$b-DF0b8&M z+b9ENahOX3)O~^fIdH2uPAEJ>=g{hBD`!q%FeMm0dXzYL@SxdC*Q{A1N=r*bX-SEg zf5qM6Z#TTuBHVw)oiZD42EWEb;QxSH!E+)-(y|Ko@yH z^pj6MA#K4XY@-ZoxhV!aK+vvu1~^t+$BB&p`ayFRxoFRy6#jNk9j>$b-Ck?}u%aVJ$bsFz=0Nb@?DTR$RvjuTQ&?r=CT|OznQ} zxMQ|S7%*?%y=L0A^*4&84SyET-1K%rENOUybf!q%l9CAJofl&Zwyou*34A#Bf+HG! z;`ReP0e2_GwaAny2VjS~Z{I$Xv`w2fin_X5nO0riOWZm37h>_v>l5ORF^`DKvMQ-N zaNq#3Wy==R4s51j_nQooOIiuN=V+XWV~!>G4zqxW-wx$WIRJS0;fKWO)2AhIr%s)U z*|iSpd%5^I_4Y?*ycYvJLmKNL5AwnWY{90roOFS?BnP}t9OGOl?r=_SlMN%^PfO5G z^h}w+s8LsnJ$v?;z4zUB*UQNmX{9BlqG9v`F@NSi#7}4bQ)2#%zl*7(=F2pxL%PVr z`C$t-t>vT(%q8uJKXbWqOPg?jQANu9bv&3yTzAB$_`lLzMi{rXd2F3x_MVeSQr zi;D+=>x2$43|AeEfD?MAOrcMo-r~(S-!yyip+kpaj;gDw`iqIQ;R5iPpF;<_oDVi& z%W6N(;1Te($5S*cnFG2ShI4>j901IiakKd5n{P}qAA4+JoQ@UHVSP-(8Q6Fwg6ROa zyJ$G`9p?bI+g%f}NeBX}sw%~f9Xm`yw{PDrh7B7Ur^i4VbXXsGVZ*AI0q7xUa8d_& zy@kE)G6^&8yYI*1+i$-$d-UA7KZ?^~AdQ!v$b-CAoeaU8gq_a(0ZAQ@o0}UU2Yd?U zOfExp3?DvBeE8u9X0OJrRz*d5oF1MbjrEWRd98YxfW8dv(W6JT;ydO%2$KTfw!=nD z2aXgTe|&LFT%R)KhB&?H(;Lj*4uO;5Ryy3UmitZC(Io_#sL@-1))%28IbzfUBO{&fdHa7vdK2pIEKCLE)t z^*FjIOq(`UeD&2=W-ni|WQhzh06z0`=s?$+KZB4w!U0~d8!znQFfQSR3?BCMdcD)N z%(hqw0XWIruwjEq^sZgIWS9Z)nV&-^gQuQ}pq8LPK}*mdf@4C$i+K!-?xa*t8NSpr z+XZvx%rQ4+IN`)D7vPgqq(R4;FT-F594jm=yaF6Ml8gYptMrj_+ArmsgCRo(i*4Js znZ4Z#q(R4;FT;==`u)a#iQBN^IO!{jJqWH~(EnRKvz@SD!GbvA8A!A0+W_)9(l9)@ z4a2W+f#bwdU0sdD0=z_|8L-Vn3=A4{i8y@ta2)w~hBT{wh9S8_{CBxrbHHtRc{%2Q zq=L;sZb3moKk}OVI%>pbqX2I@;JDf906a_c>n6>C3P1h>d3kv_hR$^)c_Ts>i~=JN z2-x;3sW{)qK^tDQ1@PGhXZ~>rM}HrWmY?3&h*SLRS@Q6s31(@h$K#o)8M9Rw!j&lWoaXr;issmXf`-?G}8eHL)a`-1%rX?7c^QA$(dpJb`qEPvK}}+Z}?$> zvO%%yVPy=l%vPho=8!LAq4!fHSqv@}r_C0Gp`zT}+@axc&{p>Y?F5o5TFxKo*|X>O zz@?*^;fF=OBSZ)ph8MqPZW_&^S&(agkH_^qI89!DTd*4zu9|g=G;7 z$x$HS{~z`KE5V^7dj8X5fyZ!k8ZiuGAw0^)vuF|=`=0`Lio+K7eiqCH?(W^Y_YVex zAE5v{?h9-Lwem4O&dJHa#tWA(EsFhC;ZYE#t@La)3V`fLuzDH~=rQpiZ%9T$t!TB|2^HQhNc`FSwCO;dB%mX*$OhG}xZQw|874z0ZTL>-^ zu%oM{VfH9ydc6Xj5sh(Qu6h=M8^uw=8?Or$3@03?Vt8Hb^Z8b4OViGHOrak)tOh5F z8-(jN3q4km?+!VlGkmRK_||HZa%XY^+Ikk>eDr!f?-CbviW6{?^t!RF1hGxd2ZVvN zGTPY5oFK_pE1oUHLA~N4C2>EI@Jn1iLOG$HoUlm?M;&%fP%-~pwC8*OMQtCdH~<$3 zU$#n>pdg-x(Ijw*1~R!JD(^}7GWPUuMc z1a1p4HH^Fq5F4JzcwT|e4H ztJ;b-XOw&v4o4nGv|=^I#l=6Mjmam7m8g7s91UD&w1L|4soG@Ks5YXl83{Ydgq?st zY*S9?o12?^IW5s%!?5KEI@}KKmQ@|igEeZy>*`hu_qu2sF4t{EJ_{;@WmrC;gwTsn z=X5&f(kkgA%LHw=&70g*DaeTym+3T;=b;U%Eoc+khBn%cd|j{+!3_{5D4YuR%gMqYf^YYcbX78q`hIkykmWyX`~H z`2>~6E)nt5PZJu}&uC;V4fCNzMMZa0&wG`I{$~lC!QfEAf3{rztK0gYGnYCFaiI;i zRhZd>GEp|w0pDClkME=EhH!(rrgdkV4nh3HP?nBxL{}6T<~2mZ0K7rqbQaE~9rX&s z@ctWb6_7*ZX(NbB;+TYBedG-WgXhTB5!i%nl!3BPCdyWIKwX%4)Un;f`ql_L0>`#k zPvgx29u@sT3~t^i7GH-RN*lX{MBGb0pZBkRzi%7$-dz;04+Mk$!+}8H3jm+-268mb zw+*_KXC?BIjk{nAHWlgkwGxztGEp|_z~9^I(8ODX=Lq?o1V=RHV$#E^0~Z@OUk6!r zMBG3^J;DXn97G?unF5J17)F1l-=%Q{Dle{ zkDiB^3qlYEaI}ld4XnM(9nszj@(?c2dqF6G%@G6tMjCXWi#*5+8?XhNu#GZM7Rv0@ z#3vKoAvkNnEgXo$E*oze;E&@VUV~H}c!o6SKo@zC7dEnlUx0u#b_#%y0f1B;{G9bT bpRMKpz{%j@DtD*<00000NkvXXu0mjf*trjL literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/drawable-xxhdpi/revanced-icon-monochrome.png b/patches/src/main/resources/change-icon/drawable-xxhdpi/revanced-icon-monochrome.png new file mode 100644 index 0000000000000000000000000000000000000000..f566f259ebd9ad276cfcca3c81b5cc8678d60e20 GIT binary patch literal 6760 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 Di%Ik) literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-hdpi/revanced-icon-foreground.png b/patches/src/main/resources/change-icon/mipmap-hdpi/revanced-icon-foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..9448e7315f7d66fdecb8ad2b31255bf8b04ff5c5 GIT binary patch literal 3504 zcmbVN2~<kN)1+P zk_?jqh(x2c#hc{!(sl;EE&fFTgug(taEM0OyvrKnNhCo!fs}jLWwv( zklOE7xigh`=b=$VKue6&`^miYg&sCXx)o1-sxvlbomwMC#H^YNp;XFJEQH`B>kcq1hP7r>h8tya^8<2F+vbTG9v&$M1(LwGz4N{6~QEuf&mUR0H9Fm zSlFvuw_#8!84L3?aW-^j+5kaR$0!zni#p&=iV7x~lVMht@-h|?7?2?Z;1Hn^Av8K0 z6M=;-6Jx-4Nf-%(E<-rMSeTcy3)F_e0-z=c6NDiQEQdlZSmZ#Ao2~syIXJ??f;b!| z28j$04@ZO>BN!|S(#YK09BGI`qEH4P!hjt~=MWS!i-E&pQpV4GG)V{F<3Zo?*L!{3@Y&l;}k-q0G?Db zCuoJ_Q*=K-r+gWfXrYBk77b6Qg6hFYHEN&fW+W>V8AMBV5BXP1J9u$U=IacLo94hU?3IrFA@r#0xE?Lu%IY}Ap$hv z150=i0CN1zypW$sus}+V&*!o%kbgCU54g{c-7?3AD0rs95m@(UgOH3qHW`2pb`}=c zLN;A$xd?$sTRYkAagXpH@A1BZf2z^&=4vw*kCP9}-g?0690skh_JSj=E8i$FBscHm z)gADA0fV@o z13fyb*{K6muGMeI=<(W)-i(X$SKIyPdiH(2-2DE@?OSI&)py_ck?xGUDLG19m5idI zk*Pi1v&G&y*Jk{Cx*6SPVrCzN2*#te@*kHczM8A9z=_-Q`6K=(5EWd#f@n|g?4JB% z!@bj^$CHb@#-%so!_t!z&Y8Z8n{j+<&KFJEP<9{n&^J3BI}$#MTi5P0SUsIJ??{Y>FhjOdd)dN!Ob0y4ir%QN29V|JsSxj_Z|eZKmJJVb3FOH3bR0V|Q!Po;YV+x)JWJbj34NxqfHutdK3I&9bt^z&&S>yibxC-pp zQ}+^CSKL6B=|T9CtaSE9o|AfY`mOXsTJO;}1K*>42uI9(sAL>b6i>1lZ;JhHxB4dO z=rDQZVFxO@#@4*gY_F-_nbCfscTLrZB`m$bR+aQ(=)Rz_@XZ;*xNGQn`)hdOy;C^a zmW9R;dTImC{lu#gb;YE%${1&nPhKAR6wl}2LytM@{o1Wt^8Csd9n*$?Or)MleA&bg zEZ&|RU*3t)CiZnGZOI?Fmf3Xl@;tty^Ga(=>SWMx!rm&UG=jLbMQweKBCmtzx31r{ z)bq`jHACKd+ryOb zX?0c=E0(sVw$ZQm*5p^UO?vmXKIB~o7xNoatg`@dB^)1r6(9e@rDLO~Pn2sUq9+vL z?5Ls_8H>-ZIi{6Pr$1wf?su+E*hNl7dG2tye~M?^dn0N9Ig5VU^yJ-~z~k4;&oBDL z5V(P~quEl8j~4CQWR)h3hwhhenl?$!+=ty@qjztcfg0bnQF$y##7YVp$Vja#szPMRVdAI?m;y>2fl3A{`;b_Stam0DM#&t5~S@m9Jk4d4( z*F)?iA;VAob|yE@p+*W`A<|qsIIL=ahxf~EKiL$!iHvCqw^)g=n4sDzy7jOtXWen% zLY^JUqZ)0cuYgXEy~IwHDch|YFe}sivXwnh`$JM=8DOCvHE6vUxA|mQt&5$Oc%93M zyCtsY;gMbMuEktp<%ZMK#2c+t>#_vX0t=mB_*7NNcz|=qK005F3$G;c^i$@|=hB;Z z)Je-I3F&CJ$Z}zV?TpX;ve2f7IYJHgc22Mn$|gtnKv-P+SbaUE$DCqa-MOhO-t*g& zs@vMY&702fqSYY*mVuB~KJiw(8fuhqgXOGs%AQbYBN;R5Tz5Cc!>iqQZHF)6_g;q!8km*^^S^1x z1}iP`wGCNt{(07IR2F$L&XH^EZc@We7RX z@8F1+ifAqD>x$upOJ=hwV|N!bbI(wg3yJRa9p zaf=1q6zPM&`JFDt^||Wm?{u45rPXEW_Up_{7xIdtytFV=nN})Xs{ZDm{0V)inO0Fx ZDuc8KKA(pf$<;_=PId=uORWzd`!`a{(1-v4 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-hdpi/revanced-icon-round.png b/patches/src/main/resources/change-icon/mipmap-hdpi/revanced-icon-round.png new file mode 100644 index 0000000000000000000000000000000000000000..5adf8939817570835394999db679d37b400a289d GIT binary patch literal 2989 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-hdpi/revanced-icon.png b/patches/src/main/resources/change-icon/mipmap-hdpi/revanced-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5adf8939817570835394999db679d37b400a289d GIT binary patch literal 2989 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-mdpi/revanced-icon-background.png b/patches/src/main/resources/change-icon/mipmap-mdpi/revanced-icon-background.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb91cced108bb6126ed2b4ce6c5e184c4ed6339 GIT binary patch literal 1954 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 GWB&k^M0-~N literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-mdpi/revanced-icon-round.png b/patches/src/main/resources/change-icon/mipmap-mdpi/revanced-icon-round.png new file mode 100644 index 0000000000000000000000000000000000000000..46117b63ab0226e4b276100219ba0d68ed388473 GIT binary patch literal 1825 zcmV++2j2LJP)4FuAc8H|~Ab#=M;=^S(sT^F{~CigLNoHrpA6%~cCSj>#YjH)DJChj@)q`(J! zWlbg#k3=F5R#sZCR8~d~Mx&8m7zw_2k$+wS7s# zADP%?2KmHg*usZl7<1fWWKu+(t7{JWIukhKAas*4?h(+{ZO_1`j03@HWUN2z#*9Xz zk8rR-E%3Nyng2;r&KbTF+-wIC!!7ny#dg3m^fm{$p@K&umby+G(w9o)24cB!@GCm` z11gxDHD?KA0ym{^@jJ&n=*GpX*t-EY+9Byw)vq&frlG~L4hL@ag6Aac=HXfBoa{6! zu;Vd@&oxe-8e8n~+)Qsdon;w%5<7HmDMjtUOny~VYgiZO*@8^Kx?x$?V>(AS(ds_A zRq9POT~Hh%5%V{Vqw5n}EDtZ&Ytk6m-;LeIFT?|qSAoLeaGTCm7m*P!QvoL+p0JtR z=hKDa!u-ybm6a9goR!GgH@8Tm>8$%y5UXHWMyt*lVsB0IVCJj#SFT(^?d|Q<*tn5a zRWG7^z&1n(3uTguIT46=s*`Xuyy*o4Fo4Hqs!b2wK9R3_O`?Wty0lf<5pG0 z>Bx~Ibp85udT#xC+P-Qt9dG>B6>qHEBy^w)8`wJi-2pdcGj9WD#a*lbC-8+-@;v(r z8#g{rSFc{B?(S}?onJ!-)_q3bzt}wixQ8+5Ko>SnKOP{saROfjCLZx|#yy;o|{)E0u3o zc;&N|{GzSxO}cXB3UzjNQfzLVwsF0Gy18FqTf@gRx3W@LZMJK5B#kwO$Gb*?W3`=G1|3jC(Y$mXjuE60IqlM-YuFJI!-$u5Zt)jFY%-= zuoK`Cnjg(T0&CW+rlFxBI(6z4EnT|AzK?6%!x(g&c0OPyz)xhgl?DQ(rKNNECO&=G zN>f2R9;2?VFU2m?($ZqzZ*6T6_b>(>r=1U|5*p?nsJ0V8LvR9VHL=3lwNHpL>g(&H zdGo3SaE*HybL#tqY~t`xVPRp&PJm@LH}Qb3G*y6bZ*MOR4-ZpQ(+kwx+)N`QBh=H= zBgUNiKB1ligUq==k;i_T!+UF&u9Ob8Zhe(TM@Q-C(W3&m#yzLr6d<@6M(7*njHhsp zdK}LPhb!8o5{?qSjuTGcA$9unX&N6N7dUa^#8e+#Is`8qB|@RHo!~s-D8c*cvS`%& zM=Gbi3VZhK5!)t!Ez~*g7ff6>aQNS%qM}E&>ama0h1>`INhR;c=~TdjtD~bs0N2iO zzfhdG{*N)&V#(Ql6%c*E&x7sKAnh{BFzoW-{U7Bc_$u-c@q&<_pI^yJXJK?NzEbk+ zC-U<0;yPztkWn75!d_{3udISS`@vwa0~{sSNun|`xlvBSI1{~)E))mT4E@gBqLO3E z&y2`yHt$FqIO8!GPG>2p*x4d+5G6~xA%6Hk_magt-aj9491<`ySVB5e4eDO~60sCGkV<492hV>(8CM;{1v8=qj zbT1#nk1>f+mt;}`y0C#Qe889V>1m%&S1>aOlFu+04;2&?Ji~{qcd_M#!^R*#$rGk& z{>ddW0wk})35-Dpy0Bqed|7}G_=3+#=bO7J>VGB>7~kwcB+jVG&CRXjL)Yp#b7t2A zxW+w8-DkSa0M P00000NkvXXu0mjf&ZBT@ literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-mdpi/revanced-icon.png b/patches/src/main/resources/change-icon/mipmap-mdpi/revanced-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..46117b63ab0226e4b276100219ba0d68ed388473 GIT binary patch literal 1825 zcmV++2j2LJP)4FuAc8H|~Ab#=M;=^S(sT^F{~CigLNoHrpA6%~cCSj>#YjH)DJChj@)q`(J! zWlbg#k3=F5R#sZCR8~d~Mx&8m7zw_2k$+wS7s# zADP%?2KmHg*usZl7<1fWWKu+(t7{JWIukhKAas*4?h(+{ZO_1`j03@HWUN2z#*9Xz zk8rR-E%3Nyng2;r&KbTF+-wIC!!7ny#dg3m^fm{$p@K&umby+G(w9o)24cB!@GCm` z11gxDHD?KA0ym{^@jJ&n=*GpX*t-EY+9Byw)vq&frlG~L4hL@ag6Aac=HXfBoa{6! zu;Vd@&oxe-8e8n~+)Qsdon;w%5<7HmDMjtUOny~VYgiZO*@8^Kx?x$?V>(AS(ds_A zRq9POT~Hh%5%V{Vqw5n}EDtZ&Ytk6m-;LeIFT?|qSAoLeaGTCm7m*P!QvoL+p0JtR z=hKDa!u-ybm6a9goR!GgH@8Tm>8$%y5UXHWMyt*lVsB0IVCJj#SFT(^?d|Q<*tn5a zRWG7^z&1n(3uTguIT46=s*`Xuyy*o4Fo4Hqs!b2wK9R3_O`?Wty0lf<5pG0 z>Bx~Ibp85udT#xC+P-Qt9dG>B6>qHEBy^w)8`wJi-2pdcGj9WD#a*lbC-8+-@;v(r z8#g{rSFc{B?(S}?onJ!-)_q3bzt}wixQ8+5Ko>SnKOP{saROfjCLZx|#yy;o|{)E0u3o zc;&N|{GzSxO}cXB3UzjNQfzLVwsF0Gy18FqTf@gRx3W@LZMJK5B#kwO$Gb*?W3`=G1|3jC(Y$mXjuE60IqlM-YuFJI!-$u5Zt)jFY%-= zuoK`Cnjg(T0&CW+rlFxBI(6z4EnT|AzK?6%!x(g&c0OPyz)xhgl?DQ(rKNNECO&=G zN>f2R9;2?VFU2m?($ZqzZ*6T6_b>(>r=1U|5*p?nsJ0V8LvR9VHL=3lwNHpL>g(&H zdGo3SaE*HybL#tqY~t`xVPRp&PJm@LH}Qb3G*y6bZ*MOR4-ZpQ(+kwx+)N`QBh=H= zBgUNiKB1ligUq==k;i_T!+UF&u9Ob8Zhe(TM@Q-C(W3&m#yzLr6d<@6M(7*njHhsp zdK}LPhb!8o5{?qSjuTGcA$9unX&N6N7dUa^#8e+#Is`8qB|@RHo!~s-D8c*cvS`%& zM=Gbi3VZhK5!)t!Ez~*g7ff6>aQNS%qM}E&>ama0h1>`INhR;c=~TdjtD~bs0N2iO zzfhdG{*N)&V#(Ql6%c*E&x7sKAnh{BFzoW-{U7Bc_$u-c@q&<_pI^yJXJK?NzEbk+ zC-U<0;yPztkWn75!d_{3udISS`@vwa0~{sSNun|`xlvBSI1{~)E))mT4E@gBqLO3E z&y2`yHt$FqIO8!GPG>2p*x4d+5G6~xA%6Hk_magt-aj9491<`ySVB5e4eDO~60sCGkV<492hV>(8CM;{1v8=qj zbT1#nk1>f+mt;}`y0C#Qe889V>1m%&S1>aOlFu+04;2&?Ji~{qcd_M#!^R*#$rGk& z{>ddW0wk})35-Dpy0Bqed|7}G_=3+#=bO7J>VGB>7~kwcB+jVG&CRXjL)Yp#b7t2A zxW+w8-DkSa0M P00000NkvXXu0mjf&ZBT@ literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-xhdpi/revanced-icon-background.png b/patches/src/main/resources/change-icon/mipmap-xhdpi/revanced-icon-background.png new file mode 100644 index 0000000000000000000000000000000000000000..4245fe042fcc88473f148474569b77f3dafafbe8 GIT binary patch literal 2290 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 UxwSPM#;h7F%xp{x4txFjKR&;W0RR91 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-xhdpi/revanced-icon-round.png b/patches/src/main/resources/change-icon/mipmap-xhdpi/revanced-icon-round.png new file mode 100644 index 0000000000000000000000000000000000000000..224d6643465f529ef5e2c4403c0e9c26149e0368 GIT binary patch literal 4281 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 bpRMKpz{%j@DtD*<00000NkvXXu0mjf*trjL literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-xhdpi/revanced-icon.png b/patches/src/main/resources/change-icon/mipmap-xhdpi/revanced-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..224d6643465f529ef5e2c4403c0e9c26149e0368 GIT binary patch literal 4281 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 bpRMKpz{%j@DtD*<00000NkvXXu0mjf*trjL literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-xxhdpi/revanced-icon-background.png b/patches/src/main/resources/change-icon/mipmap-xxhdpi/revanced-icon-background.png new file mode 100644 index 0000000000000000000000000000000000000000..da0fa7aa12c781672d26a950540fa54cc98535dd GIT binary patch literal 2657 zcmeAS@N?(olHy`uVBq!ia0y~yU~~at4kn<;g^mjo85mf$WrjqQMELqxCFkerC8p#j zrRr7W769cL7;Nk-3KEmEQ%e+*Qqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+ z7m{3+ootz+WN*i1Q(*-(AUCxnQK2F?C$HG5!d3}vt`(3C64qBz04piUwpEJo4N!2- zFG^J~)ic#IP_pAvuqjGOvkG!?gK7ryY?U%fN(!v>^~=l4^~#O)@{7{-4J|D#^$m>l zjf`}GDs+o0^GXscbn}XpK}JB#a7isrF3Kz@$;{7F0GXMXlwVq6tE2>!SAZIxT9Jt` zJ+Bz*ePBT7gJkp#^$hfpm6v3u;ZP2e!BAe1kzbNuoRMDu_W+6&aA^#Uz~IBKr6REa zn_^#I{K|84QM^%H;#vj_2xy?9xCv%KaY$uBs(w&vaeir0a;j@tYF>#lI3z&fVik~C zk(v|Xl9`*DR}2hYTP0&76ExXKT(ZvjIr&Awz+{zbt7Hh)1PVJV&)mfH)bPxdk_?1t z2nnCmymSm1kn3_vLD3tUmkIQb5yG?xgq*FCxsg7SMUhyg;BjFEcAsy43eb7RU;`0S zp3cqzMfqu&IY7DMAa^GPPgiF%LrXI=T_Zh+4Zw)A0_x37t8_^$0je@GFf!IPFxNFS z3^6dWGBmd`vD5}K3=F^~gH;3bLrP*vA|dslRIOkG)Zy!E<&jxjl3!E_7J?-8;M770 z55mpK1gCKY1#nDTB_@Lc$yTYLC_kk%IW+}rInX$WY;k^CNqJ&Xs$)7Zl5Le7)6z15 z!C9#Q%s!dvd8tJTMtTN%kf4C;DbGj+nuptW`cSv&gYq5BaW?uG&bI+8K+32`J<(iHt$om@#klIB~A19+>`d)b}B3|>GAcZ{S9k3g>`wHoMyVw z@qDG*S(W1a@AJ<8y;tn_d>*%*>FSw&sS;;m?)CM$Ono^sQuTvNgF=9RtW)ut&L11R zZhoxuZcSfry*K9R-+!_Pr@YGu2-LM%5Lp&i5mHfOnP0g__0E!1AcsI-lp}A5uVcvHnnW+$>lnInseq&)wkQ_-m7k{%G1)@78=IQXXw_k z$l#bj^OsA$``_#>5nAZ&H>H#R{}KO98XIT55!1e*GeOOH9$(;emEC&R1Y)PpOg;Mg z|NVVdZvIOq>^0*G?O*r%7F(n5k6Q(I`%#a{0Q0 zFI@w@^A6v%GPxhkY5h_8XX;NL=D5Cvd2CYa7o@Gbu=##<-#drcsq1&O%#FG#>EaktG3V`NN8SSp3e?*%5BvU?F%-1TR6KM>ATh1Oz}RJmq|zB4!L&9GW9ODp;n6S|O%MZ} b8#XcuJ22gze1-QFsAcHs>gTe~DWM4fm71D9 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-xxhdpi/revanced-icon-foreground.png b/patches/src/main/resources/change-icon/mipmap-xxhdpi/revanced-icon-foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..184eb07a52ede17f2de4ae1ba6646bb71d0add52 GIT binary patch literal 6194 zcmd5=c{rPCzt)+~baZbzx@e20!3-sKwS;d-TS2HLmQhSdXetX?>|stvX}T$j5~bBv zi6x~?kRUCo&>~v<5;R?uiWC(k)QL{NSw4eoeeUP}-S7SUp6B!54*ci$?Iz{%syia{*K-u?v4-d^Jbkr0BxqLq|>5N4(c zb)jzG3v9o=WN;}6i8NF$-MhsRdpKma^xmFZo6QI#ZFD!|m-8bI8Rb=otNkBYW8hy( z%QAuPRcJW&T0ZHLYKd=6b)0ZKK?=DW*RjsqGIF9dgsTyx_;UTEDf}XPICEN@s6HP#WzynAc|oN!nhsMPj`dyCCJ7Nv=sNS@9=6 z9-Ei}*y_4ue)OnRxs;??t%VGn+$~6~%x70Mrdu2sXsh}(r=AH5HZnKXWBYsUGuv@Y z`9*LZvhhP#(~YT>^>6R^xp=Cv2;vdgYp(2rjy$Az*s zg<6Xho1q-;;7d|c+O%`+UZ<3sw?|27{bh`&57`IqY#B_z=_65uAhdooE?mJ@QnI#< z4o3!up~)IS=uiwE0+e!jKn)BE0`xY88^FWu(WfvDu|%{-tcz!GY*?@b3TSJyWutYp zr9uIRCL=YXaacUbG8zK>ENrQGUxUFwjn5Qv7zF48KcQhyAfh!)^-c8+fQoPp4QnDQ z#L^vl>`S;}1Oc8Rlfx~+;Hao5{U~F70x=Y9XklRiHZTGk8R;n)dZZXU85ymICms4- zDTDxxjZFSJ<@+zE z>ckxzXQ`4e?U<3s-ruX({z);0}+$0*zzeG&2b za{>Z1Hv<1t-1mRue5H1#9qH`TW(E zHTYkx;CJ3%%I>qq@2H}t6(dF5KO4l_=#M6Y#w$7tQPDy?+*N*1Qrf|XL4Wd$4v>gq zuAtE|8^#)pRd1!8GC6%wxx)9vt*oE3Zrmy6?GI3D58B|z<922~7@@zrY)mJBA5@p(M?P>bk4E|+)3Lr6K{Y-gLXmgLNO=MhEv+=B8 zt`StelJTq8>gA;*GdMOgFyuL+D}TB=fR{*!&3aDAX*gEu)XG|7WwyR*$K)pn7WUWP z7g=Tsmvw#jXGS|00)k8Us{{OffbrMH-bBn_2a8MSXez*%FU*9KvMu*@NhCb{MySx}6zG1~1 z|E7T8?I&7Q3doLjE3}R7RiXVh7sKnUsOl*@pjFA*pSQ;``3|7jW9I_CH)PmgAX2(d zD`TaqEb>VyKF2PCMTqpPriKQ2%LaO|rLU(xWrWDdR8?FeSGsJ|)0fYbG9$&2G>X(J z;ZTH6&<}gFthCicW&`Iz{Bp^Vh?vIJ%tSvCceP?DDeA=4ORR z8^)aQi_4cxj5g%S{JK^zO-p3>f@plu6ycLD&6N#j1C=AfN;l3-@rR?5!n!->e#G6U zq~0&MZ>%z~&*Ki2@^cRBX~Pm-*517IX>ldAnj!(!Y1I~qylA+`{n9S)6yqUYU7bmc z2qH}A7!-Oot*RP<-2;Eh�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 Ri*yZx9d&_L*!^L9qY; literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-xxhdpi/revanced-icon-round.png b/patches/src/main/resources/change-icon/mipmap-xxhdpi/revanced-icon-round.png new file mode 100644 index 0000000000000000000000000000000000000000..f566f259ebd9ad276cfcca3c81b5cc8678d60e20 GIT binary patch literal 6760 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-xxxhdpi/revanced-icon-foreground.png b/patches/src/main/resources/change-icon/mipmap-xxxhdpi/revanced-icon-foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..3b066a2c37dec30b46ae792ef4a6195133f002a0 GIT binary patch literal 8320 zcmeHtiCdD}-nNaNU1>Yrm1(9q?le&}XT@EbienBq72<@3sHliITf4zcWtKzEl0yz4 zDw<-NSVo$eTB+b{S!xMNYKRl?QMnZH$Mk9HMRB4dboW^P7yj)y2`Ve65l_U#5S#n@7v~nsx)XJPd)%0tFA4*+}k;uu&6qIO2peF zFDyS}K+#F9O!8aT2#Y5HaQ4crx4fNe?i_?{&g1&dP&4-Z(l+^bG_tq|9QS$$rcQBy8IZ4QkvQ zWHK!rjGw}-J<%c}dnLbpw~6ExNQsE-yp3@6i1M(vGxA4;0(=8desDlcXt)q9B4T0| z6YlGegh$Ey!GjQCrV8xVb_IDvfT@DJuDzChxHK}*nHw;iP1BvZ1 zi7^r~guNVvQ%Ko_8;AZ#u# zZxR_0Xyj~R`J=h8WU6p6Dk|JaQxl8D06#O0Z02sBEq8(s4)3&w7z~QOq8jDP{DU;@EF9u$ivV-3=mqO`K?A12+;Z_ z_B%8R5%~XreyjO6X!u1`6bgM275^ZLg8U(p@pUj zr*yRcUgh~;tISa$s7M##+<}`a02SoF`C|kQ^$mi%BLbo>{vi2R)D9jN^zY$sT0$`2 z1`QI15ULm6^E=$*Ulpbb`r4ZRB=`KkzEQsaKk)Y%E-(C;2yb9-Z)A-?N1-BP{|f(@w=VFAzlDATLlE-chttT{|C=|a z3gMBc0E|C8K;cImjS7sy`bNS}2MNc}RN-`BAVTP0th{g)AcDf+k@DIAEr8I3KUuIB z;X;o8p%pJ6zb(7(9DhcIYg$+mw)6YCBPP^U1Pi#CgSVDFtKu9ct!V}N_T52r9v{KLI6X99>~Y8Bun58zfAgG z?{lToIb@x}z_@kA!YW-A4@va{r=@;A_w&JBZ+w2PIxc;xD(@ocKO~pgAzR2Ip?#v+ClAU{a)>j^zGks;Q#*orvqB_GJHodnaIo;EnMRVXpb-g^;g?U9g05637`X8OZ0)0Dtaqcz-ril_Cv;47b^~)3`2GH z;+W!XUuK@w=x4HPsgw==e0)Kp{t}N?l#l`y4Z-jq)N6c9q3}r{lcjW8tRD0nSNW-tSctQd>s1EGX=*u4Fk{7De(?R9N~xe#rBzZ69!k|71<}2m zya)L~Fn_zjjhi|Pi35x_s7-BF$}VFbb}5tA@9uvUW^nR@^TwZUgo$0xLajeNEgtH3%P39{kemIb{ zz~ph6$;#lbH*=x3Vxuvhe(P^~I1_i8Yjk~?=}(5mgD*XOAmrCnDthd8Fq*wLY4e`z zd4UeO0s?IfR4dkl0ZA`6DwW9fwP_G$%^$@^#NaC1K%JiJ3=-x#@71b3u{xN7piI8n z>^3rcl?21$_a?PkDgg$PMICL9dZ*q6*p3hW*_T*e-Qs{G!_EJybg27W{Ni9Q=}z!W z3GF%V`OrZp`&RQ*TZsGNELXQx&Wie`Tjw&*bs4cR!tidx>%EOIYA@NCpK_FwdzmDt z28~HC-ibNwH!`zbX3cwgkZ+u#VZYtKbvR8eftHT1Ll#5 zzgL-~p|0tlDu!U)rLzMyW$teZ@p-v0qiRN|4m3F@y7moffP>*Rh9W7{)wpN;7Dg_# zolZ<_v}np%Z_rL&e?Qk=Cx~)cXK`eYW>>0(+-gZ$WF;_&;%7VDJ{oKrvrM|fTs)9m z6l1{vPMN73%a{Au@*6fw5dU>-(aiJ0*1PGBk8{D))($m6ZrfE#E1!ULl^`KBF02RX zOx$k;RP#{f@uZvg#y~BQK&*a90~PD5|5Sa0s6{_TfmfWR<0v<=~qwna~HhYZ zbPv==-*pNOkLZ0g-7pt&OO z_QU1%u`#f@lf;geXohte+4ZzWFPBNT(Upyo(KY9?)SgY~wjg>bi(ebv)SiWTF;Ced zzi#FxoMf7Cp0Yu+t)%2f{P>NS5+cBAEu@4{i)!*5-f;B^(Vwy@$d`(IYJyo~ecHOO z`QUfY_SHrI8i&S}7FRuew+Dj|D@;vQZGxMdkFIuI;ehmP3VZ654j;gmAJEdIk9lP^n*v77!Cw0+@xmq(2pvI4ss3tT!_F&=!yt;v; zSr+o(OCN1mZahW#Sl-Jr;gZ}L=`y`$n$eBD*LSVgQaLSm-K(N}BDTr~B=d?9<&j+Z z@cN8x&jycCKN=X#^EGOiph(s_Ha5>%KjrIyjGXYXw?^MVakW@h*d<_e90E zUW$v^uTE?k1!RqkR8c{m>{waO5!hX+O-f?obU{J|XSt449qTR9)Z!|QiD9+jRI#!v z(2SVKq)Gvyw`TQyP?0;9+#V3&`*y;hSqxSy0hihUWhR75oz>w<=E)v28@k>{Y1=2z zc$SbWPQvpkuE-YXY|V?We{{92d?Jo64=uNC#i?MPVz~tk2PU&)EUDRKMPuKdbC<~) z9J6NKvLx173f9p?-|P#MpYNEp(&%c6vOW=sCSD~tOZUO;=Td?%#wtUu7+>dju@=i4 z6BpuFAJbV|;Yq~VF)AUsWl^{#72Fwg>t}ko2u6ysr1BrnPk)hA)@&la7l?N>WyrB? zYz`|E=A}w^tDBrO8`gc8WPjLFN2psrZ0o3A`C0BQD*<9}z6)}l6GTy0pL3tj z7Cf(c{#-FFW=?0`VF~$?>m=O$JGQE7{HZ;XRx_I(=u?Uz7&Wb?2BVWP4t}ile1ct3 zw%o??it6;>Po1tt0@Da{h$YF$Oa1zdDu|Og=afaS`;2aDA`^MgZ7eJYMh!iW^(uzP zPBbiWv5wK9nUCjDk1WqmHZXH)sSPU<>4(SYEy*wHWIv{~0)|P1(jo(s&LD|2$072f z*4AEp;`_9q{-BTjA3UpyTiWj;uAL%fmy@2p)-l%TVR+THoAnR%+jH+yv1Lmo6-Ap5 zF>(><>|zOb=sO+}+La*V{Z4G`@}64@HEMrQlnL*SeAtFleKvDCq=# zrZ0C;GMgEB893h>=SXcOgXNl(e!5loZUEO}%k$tA)LDH@Y40VyKQafx^cQv4xHxZ1 z^z{OgWFdx)^N0lxEV9Vp~hMLX@6zlH6e*s>IO(_PYXs>UoQ8uRmOi`Fse^EV5B+wNbnHb#Rr&Hn0We{?br8BZTe ztG@B+ch@t?AlI`4drp8=1~_W9pV!G*J#Hv>W(^tNQ@^-bgzg(>K1@Ebbe?2rlW4_( zK5bIHOjax_skEAB_}nJjoV|JTrc9B39N*Bf1(5X`xf&pVnA)oo4?W|FyE`y$ zW{vF!wnFKTKm#9K6hdQ&)%>=017OnzVdWZTp5~IILP69^I9;>lt zQ1M%Sgi@XK3n0%ddU#)OWrj z<7+P|pe91uUdh9h8&!q<(j}ZmevPzDx~u-wJ@;Kr3HkR1>-n4Yi|e%s%nuvxW3Suo zOsKk6j|?KtB0KtyUnWZqJ#YDzV6XK;5@i|tZKuwq+fR`AjX0vZA*MUX+7&vKMazsn zocKEdt~*7CdSAl~F#;HrfuzLr;c;$0*W)mN5!)(;x~5xNlx(~fTy)& zW_#<%KBwR-iV|GrtlpQ_Ak%V*zOMAEeX?o<8w;rO{9MZF+vVI<*48V-hL!r>uHY%f z!T9PM5!Eg5!RI{ecHR1(8uNa?;_`e*?utNS37Wz7p;GUB4)3?MA) z*DgTQTySre(%1c)hYn5VSVZ@Hz2LTi%nQ&P9|(`DA*MrQ2H&K6_OeGaKI1;axIevV zSe~2*_h{PO(x{kkNVeuYcTm1e&PdcB(mqLBsi*qH<_DOU~Httu2R9w-Pv^WFKf{OCyLf7f_+#Xi8D^v+2$r` z#lbIMrJZ3|B3}K(Op8*5yRzZLDJ4SKIZLyJJ}l`I3RjJsy0ddNZ(?r-8QZyrqoE~N z7Vn#VJE>D8uE~Oh8K+e(BFT@ne_c^h*DkTfy>RJ^(S@~QrIMQ)HwZV~;1FH9xM~wz zBiJ+5;#FL>QZ963GsvWRYHVX;p6P^(L-|ARtVIeZiqd6r>4WW6z8`~B!#)|!8Y?Zm zR7!Qqa!@0>!dm%OY6N5pZ7|)%J+$#9abp7wv;8S7GL#+<+2|CnspKx-uxO(IulM{T zT6kJ92m2h|2TEUaMc!WiMBCwo_ODIsF;_p42#9c&7@$7*IHXEM?4oli@h6JX*ZYs+ zL#+thW+@42}*L$bbi{Ibl0}#D?7SqvxpUt`fBlv(oXDEoXM|V!Q!8NKy`EKRlwOC4R_Vwa@+* zAz`|X_DPL(b>LXRd@!Tc**EcF-xWwl@Lc=#%6TMXCfEDR^#QBY14jt8b4p1q!fhLL zUd-bN+T3S&Rmif37rrb#thL(JwrJ>)vbZ?eoBE}E;8;|sS`CAh8^yI{5o)Eir^NE{ zc44E&o@-Zx`D6GvZ|1dyaveFjf-^GtHrZ`>Nywza*&(~Yw;&CF?s zZs%I~^b1$rQuZvrBRgqTRdw%8!SNybz{(A<|6VqDYw2?Z=u1md)}v(*vtuR>FDPf` zu=8jcDO~XUuCH{+ur1Xu)m9$PL%MLlikHksSm^1Nzv|fYU0b1(O~Y8 z3ef$qYGa#8e|y3*am;7Pmj;~IkuBsJtd>6!3DF1t>}WS$AjN!08@~Amsxgj4JHhEt zoXD)~dMZ+vG1J8l!==$R1=jAWN#v<5y==zD3=PY?X0>sXHnGwB{=V5kCOsm~fmb~vM0lBzdiko*SUj>#U75}MD{0RL?X78=Aoj$ELB?c##9?(3Jv!yoW zyLoQ4Z`$b|FuOrrWcX{R%Mo=1r}!Y1PVeChDL*4UHbYf#l`8GI!c<&88J~Ea9gP+_ zdNf_@Sk79YUv;~~c;nR8r5-9fea)inwe^&>N!`>@aU(S?@jwiUX6uE{gn>-};L={% z-*_P8r!7r)|1w+2{73DIBF1MWx}HgzS>NI;T9`gszw{D>!W-0j`;^H@tl+Qz^rSCS z>0HVJfN)FeEe98Y{V;KrwNlKZcEu%619-FH=OX`c_sRqZ7w5OKzxC1jVrGnIde=4? zXMEyN>J?ae<(O5fQ~wshn8}D2edm+4Gm=3Q*xuso$8B=*r-DZq?{T$*x2-m!ruAg( zwvS!gv+vNMFzbSJDdRFe2$#&r6QvDEazlj=jvX^Dk_1hW7PU`@CGx9&pZEJf#y*6( zuSWFK=8!3h&|HJZ!Y&7^XMo=|la-uvE0?M|*1cSrv|`^KeX#v*vog@F zjj|(2Ogh9}{P>yLenE0%Qm+A zB!acLHX*aQ7u=PT%BK=)y!4lbM#IZmUTo+kA374Eucqa(kdMQvcHV;sl$KaZxsS}} zH!(%I&F;dDrY&W!B#b>P;-d&Y#kIXqC`IhcmmNh>YpPu+qz$vir`DWf;=`dtA62Kz zPe-ZuhV2fnzM~1B_{|-yx4e+IBfX~y^qrRuIIo+iM1*FYR!r22NJ(0O)Q2PkE*#7F zWt)#$_lG;Q2U%dt4e#j#xTO6qL)mK#98$s`S}=@9zIu26-Omcu{@S_wo-vR{mW4Zv z^~m&w4g%W{*NQ=}4C%B_W^(IVd$&JPDceqHeV$zMviL4F!vjNE`#NDp9yxtHg_FMn zdG7Ml-Ok&fh26#y{+b~*dziyYc=OSa?8ozL)^i+r$lWx%dN*nix#I~Ryq&N&zx|#R zkx*Bm6#TlgP}0#RK_BP_l`>s50*ZK?Pw!rk=u%x(?j&^85B~8?IyVN2x#e2Blt=TL zdn4lWSSjO1iW0T3nFQgi-r+yEEM_3O8*QgDAzQ-NTe=%O-U+ZBL~cV{`)HjpE928> z`&)01SuSkS_>Gqgm9(VTF1R$xZ0PhdZR(+lR@%CbL>>ILi!vN zN|^>)!7z3Yb$@{KRawXFS9&)Srqk&r@}SJh#O+T)kr5F~Fy*l740p;~Fn=SZ z>*gF=0%ADfm8}9A%X<=N?NcYGlF==eTTs}ndsvSVzBSsFI&oBF>(`S2z@+lhXCv`u zJSb}omxO(yQuV|~067>PSz@UY=4J|Gm0g|Rdr6Mu>UhvBf9;H40|>vip5!j_r8GY40ch5s=S P5doidu&6oX^ZWk+6nRGS literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/change-icon/mipmap-xxxhdpi/revanced-icon-round.png b/patches/src/main/resources/change-icon/mipmap-xxxhdpi/revanced-icon-round.png new file mode 100644 index 0000000000000000000000000000000000000000..8823abe6678407245585dd0b5518962eec709a05 GIT binary patch literal 9782 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