diff --git a/patches/api/patches.api b/patches/api/patches.api index 575e428c4b..96f779698e 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -236,10 +236,18 @@ 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/gmxmail/freephone/ForceEnableFreephonePatchKt { public static final fun getForceEnableFreePhonePatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/gmxmail/layout/HidePremiumUpgradeButtonKt { + public static final fun getHidePremiumUpgradeButtonPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/googlenews/customtabs/EnableCustomTabsPatchKt { public static final fun getEnableCustomTabsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -935,8 +943,8 @@ public final class app/revanced/patches/shared/misc/gms/FingerprintsKt { } public final class app/revanced/patches/shared/misc/gms/GmsCoreSupportPatchKt { - public static final fun gmsCoreSupportPatch (Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/Fingerprint;Ljava/util/Set;Lapp/revanced/patcher/Fingerprint;Lapp/revanced/patcher/patch/Patch;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/patch/BytecodePatch; - public static synthetic fun gmsCoreSupportPatch$default (Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/Fingerprint;Ljava/util/Set;Lapp/revanced/patcher/Fingerprint;Lapp/revanced/patcher/patch/Patch;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/patch/BytecodePatch; + public static final fun gmsCoreSupportPatch (Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/Fingerprint;Ljava/util/Set;Lkotlin/Pair;Lapp/revanced/patcher/patch/Patch;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/patch/BytecodePatch; + public static synthetic fun gmsCoreSupportPatch$default (Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/Fingerprint;Ljava/util/Set;Lkotlin/Pair;Lapp/revanced/patcher/patch/Patch;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/patch/BytecodePatch; public static final fun gmsCoreSupportResourcePatch (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/patch/Option;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/patch/ResourcePatch; public static synthetic fun gmsCoreSupportResourcePatch$default (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/patch/Option;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/patch/ResourcePatch; } 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..797ccc027f --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/gmxmail/ads/Fingerprints.kt @@ -0,0 +1,9 @@ +package app.revanced.patches.gmxmail.ads + +import app.revanced.patcher.fingerprint + +internal val getAdvertisementStatusFingerprint = fingerprint { + custom { method, classDef -> + method.name == "getAdvertisementStatus" && 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..6a1917167b --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/gmxmail/ads/HideAdsPatch.kt @@ -0,0 +1,15 @@ +package app.revanced.patches.gmxmail.ads + +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.util.returnEarly + +val hideAdsPatch = bytecodePatch( + name = "Hide ads", + description = "Hides sponsored ads.", +) { + compatibleWith("de.gmx.mobile.android.mail") + + execute { + getAdvertisementStatusFingerprint.method.returnEarly(2) + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/gmxmail/layout/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/gmxmail/layout/Fingerprints.kt new file mode 100755 index 0000000000..1d39ef242e --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/gmxmail/layout/Fingerprints.kt @@ -0,0 +1,9 @@ +package app.revanced.patches.gmxmail.layout + +import app.revanced.patcher.fingerprint + +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/layout/HidePremiumUpgradeButton.kt b/patches/src/main/kotlin/app/revanced/patches/gmxmail/layout/HidePremiumUpgradeButton.kt new file mode 100755 index 0000000000..9505fa755d --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/gmxmail/layout/HidePremiumUpgradeButton.kt @@ -0,0 +1,15 @@ +package app.revanced.patches.gmxmail.layout + +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.util.returnEarly + +val hidePremiumUpgradeButtonPatch = bytecodePatch( + name = "Hide Premium upgrade button", + description = "Hides the Premium upgrade button in the navigation drawer.", +) { + compatibleWith("de.gmx.mobile.android.mail") + + execute { + isUpsellingPossibleFingerprint.method.returnEarly(false) + } +}