Add 20.21.37 to all patches, and 20.31.40 to patches that are known to completely work.

This commit is contained in:
LisoUseInAIKyrios
2025-11-19 12:26:20 +02:00
parent 8cc69fe38b
commit 0e994f5bfe
59 changed files with 128 additions and 5 deletions

View File

@@ -2,6 +2,7 @@ package app.revanced.patches.youtube.ad.general
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
import app.revanced.patcher.opcode
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.patch.resourcePatch
import app.revanced.patches.all.misc.resources.addResources
@@ -23,6 +24,7 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction31i
import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
import org.stringtemplate.v4.compiler.Bytecode.instructions
internal var adAttributionId = -1L
private set
@@ -79,6 +81,8 @@ val hideAdsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -28,6 +28,8 @@ val hideGetPremiumPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -26,6 +26,8 @@ val videoAdsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -56,6 +56,8 @@ val copyVideoUrlPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -29,6 +29,8 @@ val removeViewerDiscretionDialogPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -30,6 +30,8 @@ val disableDoubleTapActionsPatch = bytecodePatch(
"com.google.android.youtube"(
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -76,6 +76,8 @@ val downloadsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -23,6 +23,8 @@ val seekbarPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)
}

View File

@@ -98,6 +98,8 @@ val swipeControlsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -27,6 +27,8 @@ val autoCaptionsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -28,6 +28,8 @@ val customBrandingPatch = baseCustomBrandingPatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)
}

View File

@@ -103,6 +103,8 @@ val changeHeaderPatch = resourcePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -28,6 +28,8 @@ val hideButtonsPatch = resourcePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
// 20.22+ does not yet support hiding all player buttons.
)
)

View File

@@ -41,6 +41,8 @@ val navigationButtonsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -48,6 +48,8 @@ val hidePlayerOverlayButtonsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -36,6 +36,8 @@ val changeFormFactorPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -66,6 +66,8 @@ val hideEndScreenCardsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -34,6 +34,8 @@ val hideEndScreenSuggestedVideoPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -32,6 +32,8 @@ val disableFullscreenAmbientModePatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -113,6 +113,8 @@ val hideLayoutComponentsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -26,8 +26,10 @@ internal var drawerResourceId = -1L
private val hideInfocardsResourcePatch = resourcePatch {
dependsOn(resourceMappingPatch
)
)
execute {
drawerResourceId = getResourceId(
ResourceType.ID,
"info_cards_drawer_header",
@@ -53,6 +55,8 @@ val hideInfoCardsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -27,6 +27,8 @@ val hidePlayerFlyoutMenuPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -32,6 +32,8 @@ val hideRelatedVideoOverlayPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -32,6 +32,8 @@ val disableRollingNumberAnimationPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -176,6 +176,8 @@ val hideShortsComponentsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
// 20.22+ does not yet support hiding Shorts action buttons.
)
)

View File

@@ -29,6 +29,8 @@ val disableSignInToTvPopupPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -26,6 +26,8 @@ val hideTimestampPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -87,6 +87,8 @@ val miniplayerPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -26,6 +26,8 @@ val playerPopupPanelsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -26,6 +26,8 @@ internal val exitFullscreenPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -26,6 +26,8 @@ val openVideosFullscreenPatch = bytecodePatch(
"19.47.53",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -30,6 +30,8 @@ val customPlayerOverlayOpacityPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -66,6 +66,9 @@ val returnYouTubeDislikePatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
// 20.40+ does not support yet support the Shorts player.
)
)

View File

@@ -42,6 +42,8 @@ val wideSearchbarPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
// 20.31.40+ not supported. YouTube code was removed.
)
)

View File

@@ -47,6 +47,8 @@ val shortsAutoplayPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -49,6 +49,8 @@ val openShortsInRegularPlayerPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -135,6 +135,8 @@ val sponsorBlockPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -41,6 +41,8 @@ val spoofAppVersionPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -32,6 +32,8 @@ val changeStartPagePatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -37,6 +37,8 @@ val disableResumingShortsOnStartupPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -159,6 +159,8 @@ val themePatch = baseThemePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)
},

View File

@@ -36,6 +36,8 @@ val alternativeThumbnailsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -30,6 +30,8 @@ val bypassImageRegionRestrictionsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -26,6 +26,8 @@ val announcementsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -46,6 +46,8 @@ val backgroundPlaybackPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -18,8 +18,10 @@ val enableDebuggingPatch = enableDebuggingPatch(
compatibleWith(
"com.google.android.youtube"(
"19.43.41",
"20.13.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)
},

View File

@@ -27,6 +27,8 @@ val spoofDeviceDimensionsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -13,8 +13,10 @@ val checkWatchHistoryDomainNameResolutionPatch = checkWatchHistoryDomainNameReso
compatibleWith(
"com.google.android.youtube"(
"19.43.41",
"20.13.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)
},

View File

@@ -38,6 +38,8 @@ val gmsCoreSupportPatch = gmsCoreSupportPatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)
}

View File

@@ -29,6 +29,8 @@ val disableHapticFeedbackPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -29,6 +29,8 @@ val bypassURLRedirectsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -44,6 +44,8 @@ val openLinksExternallyPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -31,6 +31,8 @@ val loopVideoPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -15,8 +15,10 @@ val sanitizeSharingLinksPatch = sanitizeSharingLinksPatch(
compatibleWith(
"com.google.android.youtube"(
"19.43.41",
"20.13.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)
},

View File

@@ -33,8 +33,10 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch(
compatibleWith(
"com.google.android.youtube"(
"19.43.41",
"20.13.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -22,6 +22,8 @@ val forceOriginalAudioPatch = forceOriginalAudioPatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)
},

View File

@@ -60,6 +60,8 @@ val disableVideoCodecsPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -27,6 +27,8 @@ val videoQualityPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)

View File

@@ -31,6 +31,8 @@ val playbackSpeedPatch = bytecodePatch(
"19.43.41",
"20.13.41",
"20.14.43",
"20.21.37",
"20.31.40",
)
)