diff --git a/patches/api/patches.api b/patches/api/patches.api index be251e84a5..db332bd061 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -153,6 +153,10 @@ public final class app/revanced/patches/amazon/DeepLinkingPatchKt { public static final fun getAlwaysAllowDeepLinkingPatch ()Lapp/revanced/patcher/patch/Patch; } +public final class app/revanced/patches/amazonmusic/privacy/PreventUploadLogsPatchKt { + public static final fun getPreventUploadLogsPatch ()Lapp/revanced/patcher/patch/Patch; +} + public final class app/revanced/patches/angulus/ads/RemoveAdsPatchKt { public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/Patch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/amazonmusic/privacy/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/amazonmusic/privacy/Fingerprints.kt new file mode 100644 index 0000000000..f75bcef2f2 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/amazonmusic/privacy/Fingerprints.kt @@ -0,0 +1,19 @@ +package app.revanced.patches.amazonmusic.privacy + +import app.revanced.patcher.gettingFirstClassDefDeclaratively +import app.revanced.patcher.gettingFirstMethodDeclaratively +import app.revanced.patcher.patch.BytecodePatchContext +import app.revanced.patcher.name +import app.revanced.patcher.type + +internal val BytecodePatchContext.pendingCrashLogsClass by gettingFirstClassDefDeclaratively { + type("Lcom/amazon/mp3/det/PendingCrashLogs;") +} + +internal val BytecodePatchContext.uploadLogAfterCrashMethod by gettingFirstMethodDeclaratively { + name("uploadLogAfterCrash") +} + +internal val BytecodePatchContext.uploadPendingCrashLogsIfRequiredMethod by gettingFirstMethodDeclaratively { + name("uploadPendingCrashLogsIfRequired") +} diff --git a/patches/src/main/kotlin/app/revanced/patches/amazonmusic/privacy/PreventUploadLogsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/amazonmusic/privacy/PreventUploadLogsPatch.kt new file mode 100644 index 0000000000..fe2767c979 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/amazonmusic/privacy/PreventUploadLogsPatch.kt @@ -0,0 +1,18 @@ +package app.revanced.patches.amazonmusic.privacy + +import app.revanced.patcher.firstMethod +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.util.returnEarly + +@Suppress("unused") +val preventUploadLogsPatch = bytecodePatch( + name = "Prevent log upload", + description = "Avoid uploading logs when the application crashes.", +) { + compatibleWith("com.amazon.mp3") + + apply { + pendingCrashLogsClass.firstMethod(uploadLogAfterCrashMethod).returnEarly() + pendingCrashLogsClass.firstMethod(uploadPendingCrashLogsIfRequiredMethod).returnEarly() + } +}