From eadc76b1617c2cea5aef0f8959e96b08f67cc1a8 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Mon, 12 Jan 2026 15:28:50 +0700 Subject: [PATCH] refactor(baconreader): FixRedgifsApiPatch --- .../baconreader/fix/redgifs/Fingerprints.kt | 20 +++++++++++-------- .../fix/redgifs/FixRedgifsApiPatch.kt | 3 +-- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/baconreader/fix/redgifs/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/baconreader/fix/redgifs/Fingerprints.kt index 78ce2c7db..fa5450809 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/baconreader/fix/redgifs/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/baconreader/fix/redgifs/Fingerprints.kt @@ -1,11 +1,15 @@ package app.revanced.patches.reddit.customclients.baconreader.fix.redgifs -import app.revanced.patcher.fingerprint +import app.revanced.patcher.BytecodePatchContextMethodMatching.gettingFirstMutableMethodDeclaratively +import app.revanced.patcher.definingClass +import app.revanced.patcher.name +import app.revanced.patcher.parameterTypes +import app.revanced.patcher.patch.BytecodePatchContext +import app.revanced.patcher.returnType -internal val getOkHttpClientFingerprint = fingerprint { - returns("Lokhttp3/OkHttpClient;") - parameters() - custom { method, classDef -> - classDef.type == "Lcom/onelouder/baconreader/media/gfycat/RedGifsManager;" && method.name == "getOkhttpClient" - } -} \ No newline at end of file +internal val BytecodePatchContext.getOkHttpClientMethod by gettingFirstMutableMethodDeclaratively { + returnType("Lokhttp3/OkHttpClient;") + parameterTypes() + definingClass("Lcom/onelouder/baconreader/media/gfycat/RedGifsManager;") + name("getOkhttpClient") +} diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/baconreader/fix/redgifs/FixRedgifsApiPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/baconreader/fix/redgifs/FixRedgifsApiPatch.kt index 5b4d73241..8c1fd5614 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/baconreader/fix/redgifs/FixRedgifsApiPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/baconreader/fix/redgifs/FixRedgifsApiPatch.kt @@ -1,7 +1,6 @@ package app.revanced.patches.reddit.customclients.baconreader.fix.redgifs import app.revanced.patcher.extensions.getInstruction -import app.revanced.patcher.extensions.removeInstruction import app.revanced.patcher.extensions.removeInstructions import app.revanced.patcher.extensions.replaceInstruction import app.revanced.patches.reddit.customclients.INSTALL_NEW_CLIENT_METHOD @@ -28,7 +27,7 @@ val fixRedgifsApi = fixRedgifsApiPatch( apply { // region Patch Redgifs OkHttp3 client. - getOkHttpClientFingerprint.method.apply { + getOkHttpClientMethod.apply { // Remove conflicting OkHttp interceptors. val originalInterceptorInstallIndex = indexOfFirstInstructionOrThrow { opcode == Opcode.NEW_INSTANCE && getReference()?.type == "Lcom/onelouder/baconreader/media/gfycat/RedGifsManager\$HeaderInterceptor;"