From 818cf509f2e33507ca9dc797dda0fa9d6575626b Mon Sep 17 00:00:00 2001 From: obXfuse Date: Sun, 15 Feb 2026 13:02:12 -0500 Subject: [PATCH] feat(gmxmail): add hide sponsored ads and remove premium upgrade button patch --- patches/api/patches.api | 4 ++++ .../patches/gmxmail/ads/Fingerprints.kt | 15 +++++++++++++++ .../patches/gmxmail/ads/HideAdsPatch.kt | 17 +++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100755 patches/src/main/kotlin/app/revanced/patches/gmxmail/ads/Fingerprints.kt create mode 100755 patches/src/main/kotlin/app/revanced/patches/gmxmail/ads/HideAdsPatch.kt diff --git a/patches/api/patches.api b/patches/api/patches.api index 5d5c92c7b8..b82ae4c9b8 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -236,6 +236,10 @@ public final class app/revanced/patches/fotmob/ads/HideAdsPatchKt { public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/gmxmail/ads/HideAdsPatchKt { + public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/googlenews/customtabs/EnableCustomTabsPatchKt { public static final fun getEnableCustomTabsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/gmxmail/ads/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/gmxmail/ads/Fingerprints.kt new file mode 100755 index 0000000000..f391e70ecb --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/gmxmail/ads/Fingerprints.kt @@ -0,0 +1,15 @@ +package app.revanced.patches.gmxmail.ads + +import app.revanced.patcher.fingerprint + +internal val getAdvertisementStatusFingerprint = fingerprint { + custom { method, classDef -> + method.name == "getAdvertisementStatus" && classDef.endsWith("/PayMailManager;") + } +} + +internal val isUpsellingPossibleFingerprint = fingerprint { + custom { method, classDef -> + method.name == "isUpsellingPossible" && classDef.endsWith("/PayMailManager;") + } +} \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/patches/gmxmail/ads/HideAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/gmxmail/ads/HideAdsPatch.kt new file mode 100755 index 0000000000..aa0aadf50b --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/gmxmail/ads/HideAdsPatch.kt @@ -0,0 +1,17 @@ +package app.revanced.patches.gmxmail.ads + +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.util.returnEarly + +@Suppress("unused") +val hideAdsPatch = bytecodePatch( + name = "Hide ads", + description = "Hides sponsored ads and removes the Premium upgrade button from the navigation drawer.", +) { + compatibleWith("de.gmx.mobile.android.mail") + + execute { + getAdvertisementStatusFingerprint.method.returnEarly(2) + isUpsellingPossibleFingerprint.method.returnEarly(false) + } +}