From 8f1c3110a106fc72cdafdc753ce155bacba75030 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sun, 27 Oct 2024 05:21:40 -0400 Subject: [PATCH] chore: Fix merge typo --- .../youtube/video/videoid/Fingerprints.kt | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/videoid/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/videoid/Fingerprints.kt index c2b73fbee..6d4a3c6cb 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/videoid/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/videoid/Fingerprints.kt @@ -25,14 +25,26 @@ internal val videoIdBackgroundPlayFingerprint = fingerprint { returns("V") parameters("L") opcodes( - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT, - Opcode.IF_EQZ, - Opcode.IGET_OBJECT, Opcode.IF_EQZ, Opcode.INVOKE_INTERFACE, Opcode.MOVE_RESULT_OBJECT, + Opcode.IPUT_OBJECT, + Opcode.MONITOR_EXIT, + Opcode.RETURN_VOID, + Opcode.MONITOR_EXIT, + Opcode.RETURN_VOID ) + // The target snippet of code is buried in a huge switch block and the target method + // has been changed many times by YT which makes identifying it more difficult than usual. + custom { method, classDef -> + // Access flags changed in 19.36 + AccessFlags.FINAL.isSet(method.accessFlags) && + AccessFlags.DECLARED_SYNCHRONIZED.isSet(method.accessFlags) && + classDef.methods.count() == 17 && + method.implementation != null && + method.indexOfPlayerResponseModelString() >= 0 + } + } internal val videoIdParentFingerprint = fingerprint {