From 6def871c1aaa7e7cd0e3e3a0bb25db7a5ef50535 Mon Sep 17 00:00:00 2001 From: "vanced.to" <49745222+vancedto@users.noreply.github.com> Date: Fri, 10 Apr 2026 10:04:08 +0000 Subject: [PATCH] feat(googlephotos): add custom branding patch Add a new resource-only patch that rebrands Google Photos: - Renames the app to "ReVanced Google Photos" - Replaces the launcher icon with a bundled custom PNG Manifest patching covers three layers to ensure the launcher and app drawer both reflect the new branding: 1. android:label and android:icon 2. Any carrying the LAUNCHER intent filter 3. Any carrying the LAUNCHER intent filter Icon replacement is done in two passes: - Copy bundled PNGs as a new resource (morphe_photos_launcher) into all mipmap-{mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi} directories - Overwrite the original launcher icon files with the same PNGs so the splash screen (which references the original resource name internally) also shows the new icon --- .../layout/branding/CustomBrandingPatch.kt | 96 ++++++++++++++++++ .../mipmap-hdpi/morphe_photos_launcher.png | Bin 0 -> 5685 bytes .../mipmap-mdpi/morphe_photos_launcher.png | Bin 0 -> 3055 bytes .../mipmap-xhdpi/morphe_photos_launcher.png | Bin 0 -> 7445 bytes .../mipmap-xxhdpi/morphe_photos_launcher.png | Bin 0 -> 13881 bytes .../mipmap-xxxhdpi/morphe_photos_launcher.png | Bin 0 -> 21999 bytes 6 files changed, 96 insertions(+) create mode 100644 patches/src/main/kotlin/app/morphe/patches/googlephotos/layout/branding/CustomBrandingPatch.kt create mode 100644 patches/src/main/resources/googlephotos-branding/mipmap-hdpi/morphe_photos_launcher.png create mode 100644 patches/src/main/resources/googlephotos-branding/mipmap-mdpi/morphe_photos_launcher.png create mode 100644 patches/src/main/resources/googlephotos-branding/mipmap-xhdpi/morphe_photos_launcher.png create mode 100644 patches/src/main/resources/googlephotos-branding/mipmap-xxhdpi/morphe_photos_launcher.png create mode 100644 patches/src/main/resources/googlephotos-branding/mipmap-xxxhdpi/morphe_photos_launcher.png diff --git a/patches/src/main/kotlin/app/morphe/patches/googlephotos/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/morphe/patches/googlephotos/layout/branding/CustomBrandingPatch.kt new file mode 100644 index 000000000..4da88d3b7 --- /dev/null +++ b/patches/src/main/kotlin/app/morphe/patches/googlephotos/layout/branding/CustomBrandingPatch.kt @@ -0,0 +1,96 @@ +package app.morphe.patches.googlephotos.layout.branding + +import app.morphe.patcher.patch.resourcePatch +import app.morphe.util.ResourceGroup +import app.morphe.util.copyResources +import app.morphe.util.forEachChildElement +import org.w3c.dom.Element + +private const val ICON_RESOURCE_NAME = "morphe_photos_launcher" +private const val APP_NAME = "ReVanced Google Photos" + +private val mipmapDirectories = listOf( + "mipmap-mdpi", + "mipmap-hdpi", + "mipmap-xhdpi", + "mipmap-xxhdpi", + "mipmap-xxxhdpi", +) + +/** + * Returns true if this element contains a child + * with the android.intent.category.LAUNCHER category. + */ +private fun Element.hasLauncherIntent(): Boolean { + forEachChildElement { child -> + if (child.tagName == "intent-filter") { + child.forEachChildElement { inner -> + if (inner.tagName == "category" && + inner.getAttribute("android:name") == "android.intent.category.LAUNCHER" + ) return true + } + } + } + return false +} + +private fun Element.applyBranding() { + setAttribute("android:label", APP_NAME) + setAttribute("android:icon", "@mipmap/$ICON_RESOURCE_NAME") + if (hasAttribute("android:roundIcon")) { + setAttribute("android:roundIcon", "@mipmap/$ICON_RESOURCE_NAME") + } +} + +@Suppress("unused") +val customBrandingPatch = resourcePatch( + name = "Custom branding", + description = "Changes the app name to \"$APP_NAME\" and replaces the app icon.", +) { + execute { + // 1. Read the original launcher icon resource name from the manifest, + // then patch all manifest entries that affect what the launcher shows. + var originalIconName = "" + document("AndroidManifest.xml").use { document -> + val application = document.getElementsByTagName("application").item(0) as Element + + // Capture original icon name (e.g. "ic_launcher_photos") before overwriting. + originalIconName = application + .getAttribute("android:icon") + .removePrefix("@mipmap/") + .removePrefix("@drawable/") + + // Patch tag. + application.applyBranding() + + // Patch any or that owns the LAUNCHER intent, + // because those override the application-level label and icon in the launcher. + for (tag in listOf("activity-alias", "activity")) { + val nodes = document.getElementsByTagName(tag) + for (i in 0 until nodes.length) { + val element = nodes.item(i) as Element + if (element.hasLauncherIntent()) element.applyBranding() + } + } + } + + // 2. Copy our bundled PNG into the APK as a new named resource. + mipmapDirectories.forEach { dpi -> + copyResources( + "googlephotos-branding", + ResourceGroup(dpi, "$ICON_RESOURCE_NAME.png"), + ) + } + + // 3. Overwrite the original launcher icon files so the splash screen + // (which still references the original resource name internally) shows our icon. + if (originalIconName.isNotEmpty() && originalIconName != ICON_RESOURCE_NAME) { + val resDir = get("res") + mipmapDirectories.forEach { dpi -> + val src = resDir.resolve("$dpi/$ICON_RESOURCE_NAME.png") + val dst = resDir.resolve("$dpi/$originalIconName.png") + if (src.exists() && dst.exists()) src.copyTo(dst, overwrite = true) + } + } + } +} diff --git a/patches/src/main/resources/googlephotos-branding/mipmap-hdpi/morphe_photos_launcher.png b/patches/src/main/resources/googlephotos-branding/mipmap-hdpi/morphe_photos_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..63da9f9a848844b37e84d0bb71f5b37177b76c1c GIT binary patch literal 5685 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 If<^fM03OzrL;wH) literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/googlephotos-branding/mipmap-mdpi/morphe_photos_launcher.png b/patches/src/main/resources/googlephotos-branding/mipmap-mdpi/morphe_photos_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..93584ea4b0f89e51b72c1b9f4c28c8f9ff9af12c GIT binary patch literal 3055 zcmcJRX&@601IC9rN6OXsH^u(ZFj6JIxauuKMkya;dr)BFwlHb2oAn4X@B~>DsEgFJ6_jNQ zB|p-VKanIpBhbMnO5`$uYl)~Co3#Hi{9It7N?LR$St%GV-2 z<4a)7B*(OltoOFJ3OQoKqFl3BXlk8<>JbzsF=;J-8x1R2wJ`*#A60g&0D@gEyN%0 zbz3o3y-hMMa|IvkRldb(U{dUAW^wjz{lBVI7wNZLH%r2_tekq-T78NIcKG4T1K4&i zch@$cC5CA65HUYc-rIc-h&nBLW~~Mx`q~06Cw*+vMQX1pQjlb>%ezwC&!j6@JBVlSpAwtsC3$@-1W8t`6Tyy5Etw zxD+7iwGcxzZGe>^G>`(28{`9T9}KM!9k>he^O_9Tj&w9i+#&=xAP3NT(8#EuV4Y6> zW!8t>8*4Ml3F{3qSl@+>SsFA?;Pg+Hpx~3Io-WyduRXpzf>9~yw^oU-nC?RVei}HcdwCqydj1I3!b>29P~-Ho4VVKyR(^Hk#=W?uUXk#RpZAg zxOf3l4NE>fx~RFYAXg&_8`70DgjL`8P%oqrte(&_{^-Fiz?!NBld@sjnsEDMP66G8 zBtbVQDagbCgroG2MT~~ydA|Hs5Fq1D(Q?C6?I?k0Q-iG zgOd1};~Ru^eOCA5#J`grhB4^RSeXXp?QdglxL-g+-gra0GAMoG&WjaT)Rv2ZjFNPU zj7uK{v7fe@#1gdADo(5$m}UzH|iU!v4M=24Q79& zebkTmSNn8Nmzl5g+nAxkiM(D77M=wswtU3;{j1#;3trTY0ZTr6aWyyYP4}sD-x=2* zxUm`$yCeg79i*Ubwgqu%)68bo-`3EnznSYv(EG=cRr5WGP*TBvX_m&zu_?ph`a53@ z-+5X0wM}Y`6x?S(3eu20`bJ5`r<#woPiT1cou$QSX_i|-c_&B~hJ|-*Ua*p+>T>3s zjl(Ht9As=3>J)z4pB-|Fbed}S`lodH>BDr~#Ga%AF!$bA@={;GS5JA}YwHID3Q;W} zwP0(#QFJh^c~@jS*d7y;N?qv3EG|Dg3~@=2`Z{v>!v2s)6)nP2`~3>whYjn2!wxm0 zTcx>ngA}cnP?_!D{#a8zbrt}An~_!Z+s^+EP5bXdw19E@Fnur!y}HjM)WyVtBqctf zTMH-N(VAavz9}ZE`1s6Gfa|F>fz{-JD(VwW%X4oM6Iq>%aUSGA1hoBgJ*Fo;2ueD}ck&3>xtU zUYZC!_K~~55hCN|(q~+R)KaWJZvq#2ICap#$`OHA+PIcy&K74N(V^Pcj)Dm^WzN$G z#q+V0JmQ`*SCD6sf$a2x&BN-aX-0&;D6(^K8>n~%raNy7Du%0Foq~%p>S(i^Bxbde zeu#U|hF5^g%{bocl>GG&2`vXbcJ0=|5xImCBAv|{ZaFq_DErIw=_><=BJ1l<1^|d= zwd|sq@Eg7SqFMLysXl6Uqvv*bA%JN+k}4;Kg$|cBH6=;XTt>rO-C#)kKbB!nIJKiQ(P*9ZlMdd>1PYedF%LMvUgbMZ+Q(y*c#8mPmrL8g~Mc zg}V0Ihu0v4m{0i?=V5}xw@Q4Vu{0S5$4HnsVD_xL>s-g2JIW&Io8e?g4I!FsZERz8 zph8!nt0uh#-(El6BCHf?eo@M2h!%!Rr-v(X)mN+OnxsW4y6vtXJD+JYA8#CJH{Jb1 z13Zl4X7&*HH@<1pZSX~Az9X?0ybkkw-qpr{4nZ2^v)|_Y-rkl@`NW;Qg38j@A=u$d zs6xJLbksKo;`&R13s^@V3TLj*7_7B>P;Xm^gKe}3lAeE^WE$t!n2aLJr(#f+U!ww} z87`m;_Nl^;^j$rgqR-LERl?(+mdNy9xjf&o-?v3{)V8!zDB;J-L>Ld%)s(odVU^31 zQftAkrFT{f^z;JO-YsdoZ}VBK$%8I3j(3E37;a-u#|g?V2zsTP*GeOoD5p{<*ToLG zi=-znC}dPOsnc2ym#+9 z&_+5grzo=~b$^80ztHAe-Z!cO2w$Eocvc3S5pq$KEeR@$sI8c9!7HPxGRR|Ix0Z%6 zAD(pXq)J8wY%bix`!@*m>7&GC$nCc(>s(i67J0*{(7$}a#m}%vO?G~(0eh&75=%1Sf*I`Hro8s)rE46jFs-yxC_KW&SY#CT}(p%#y6Wyv?ZhN^s;Jf1hCz%e}(RaN5}^mLZqU lHIJV7KWgiL?U%DJ5bLekJdq{X_{ZP@))sc=^`@xge**w5;MM>D literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/googlephotos-branding/mipmap-xhdpi/morphe_photos_launcher.png b/patches/src/main/resources/googlephotos-branding/mipmap-xhdpi/morphe_photos_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4b21dab1a022da64ab5388daca24366858be9c5e GIT binary patch literal 7445 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/googlephotos-branding/mipmap-xxhdpi/morphe_photos_launcher.png b/patches/src/main/resources/googlephotos-branding/mipmap-xxhdpi/morphe_photos_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..f719b7d28d0ddc5864efab7891cd429c2225303c GIT binary patch literal 13881 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 Ku}TsBfd2#geTna3=3}&yToO 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 Dud#z* literal 0 HcmV?d00001