From 2ec24f95ec01740d5c32e71f2bbd0e5506188bd9 Mon Sep 17 00:00:00 2001 From: inotia00 <108592928+inotia00@users.noreply.github.com> Date: Fri, 7 Feb 2025 18:01:54 +0900 Subject: [PATCH] fix(Reddit - Remove subreddit dialog): Patch fails at Reddit 2025.05.0+ https://github.com/inotia00/ReVanced_Extended/issues/2762 --- .../subredditdialog/SubRedditDialogPatch.kt | 19 +++++++++++-------- .../reddit/utils/settings/SettingsPatch.kt | 3 +++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/layout/subredditdialog/SubRedditDialogPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/layout/subredditdialog/SubRedditDialogPatch.kt index 25a3db115..1ebaef98f 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/layout/subredditdialog/SubRedditDialogPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/layout/subredditdialog/SubRedditDialogPatch.kt @@ -9,6 +9,7 @@ import app.revanced.patches.reddit.utils.extension.Constants.PATCHES_PATH import app.revanced.patches.reddit.utils.patch.PatchList.REMOVE_SUBREDDIT_DIALOG import app.revanced.patches.reddit.utils.settings.is_2024_41_or_greater import app.revanced.patches.reddit.utils.settings.is_2025_01_or_greater +import app.revanced.patches.reddit.utils.settings.is_2025_05_or_greater import app.revanced.patches.reddit.utils.settings.settingsPatch import app.revanced.patches.reddit.utils.settings.updatePatchStatus import app.revanced.util.fingerprint.methodOrThrow @@ -53,15 +54,17 @@ val subRedditDialogPatch = bytecodePatch( } // Not used in latest Reddit client. - frequentUpdatesSheetScreenFingerprint.methodOrThrow().apply { - val index = indexOfFirstInstructionReversedOrThrow(Opcode.RETURN_OBJECT) - val register = - getInstruction(index).registerA + if (!is_2025_05_or_greater) { + frequentUpdatesSheetScreenFingerprint.methodOrThrow().apply { + val index = indexOfFirstInstructionReversedOrThrow(Opcode.RETURN_OBJECT) + val register = + getInstruction(index).registerA - addInstruction( - index, - "invoke-static {v$register}, $EXTENSION_CLASS_DESCRIPTOR->dismissDialog(Landroid/view/View;)V" - ) + addInstruction( + index, + "invoke-static {v$register}, $EXTENSION_CLASS_DESCRIPTOR->dismissDialog(Landroid/view/View;)V" + ) + } } if (is_2025_01_or_greater) { diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/utils/settings/SettingsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/utils/settings/SettingsPatch.kt index c1f775a53..906378788 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/utils/settings/SettingsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/utils/settings/SettingsPatch.kt @@ -39,6 +39,8 @@ var is_2024_41_or_greater = false private set var is_2025_01_or_greater = false private set +var is_2025_05_or_greater = false + private set private val settingsBytecodePatch = bytecodePatch( description = "settingsBytecodePatch" @@ -62,6 +64,7 @@ private val settingsBytecodePatch = bytecodePatch( is_2024_26_or_greater = 2024260 <= versionNumber is_2024_41_or_greater = 2024410 <= versionNumber is_2025_01_or_greater = 2025010 <= versionNumber + is_2025_05_or_greater = 2025050 <= versionNumber } /**