From eee51a863a059c5073b2817e57059e072b72155d Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Sat, 11 Nov 2023 18:08:52 +0100 Subject: [PATCH] feat(YouTube - Seekbar tapping): Support version `18.43.45` --- .../interaction/seekbar/EnableSeekbarTappingPatch.kt | 11 ++--------- .../seekbar/fingerprints/IsSwipingUpFingerprint.kt | 6 +++++- .../fingerprints/OnTouchEventHandlerFingerprint.kt | 9 ++++----- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/EnableSeekbarTappingPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/EnableSeekbarTappingPatch.kt index 89bee3bde..15398adf6 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/EnableSeekbarTappingPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/EnableSeekbarTappingPatch.kt @@ -27,14 +27,7 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference CompatiblePackage( "com.google.android.youtube", [ - "18.16.37", - "18.19.35", - "18.20.39", - "18.23.35", - "18.29.38", - "18.32.39", - "18.37.36", - "18.38.44" + "18.43.45" ] ) ] @@ -64,8 +57,8 @@ object EnableSeekbarTappingPatch : BytecodePatch( .reference as MethodReference buildMap { - put("O", getReference(patternScanResult.endIndex)) put("N", getReference(patternScanResult.startIndex)) + put("O", getReference(patternScanResult.endIndex)) } } diff --git a/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/fingerprints/IsSwipingUpFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/fingerprints/IsSwipingUpFingerprint.kt index 72b7bc43c..0a750f715 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/fingerprints/IsSwipingUpFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/fingerprints/IsSwipingUpFingerprint.kt @@ -4,6 +4,10 @@ import app.revanced.patcher.fingerprint.MethodFingerprint import com.android.tools.smali.dexlib2.Opcode object IsSwipingUpFingerprint : MethodFingerprint( + returnType = "Z", parameters = listOf("Landroid/view/MotionEvent;", "J"), - opcodes = listOf(Opcode.SGET_OBJECT) + opcodes = listOf( + Opcode.SGET_OBJECT, + Opcode.IGET_OBJECT + ) ) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/fingerprints/OnTouchEventHandlerFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/fingerprints/OnTouchEventHandlerFingerprint.kt index f4607b0d5..2c355e086 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/fingerprints/OnTouchEventHandlerFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/interaction/seekbar/fingerprints/OnTouchEventHandlerFingerprint.kt @@ -1,8 +1,8 @@ package app.revanced.patches.youtube.interaction.seekbar.fingerprints import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.annotation.FuzzyPatternScanMethod import app.revanced.patcher.fingerprint.MethodFingerprint +import app.revanced.patcher.fingerprint.annotation.FuzzyPatternScanMethod import com.android.tools.smali.dexlib2.AccessFlags import com.android.tools.smali.dexlib2.Opcode @@ -12,7 +12,7 @@ object OnTouchEventHandlerFingerprint : MethodFingerprint( accessFlags = AccessFlags.PUBLIC or AccessFlags.PUBLIC, parameters = listOf("L"), opcodes = listOf( - Opcode.INVOKE_VIRTUAL, // oMethodReference + Opcode.INVOKE_VIRTUAL, // nMethodReference Opcode.RETURN, Opcode.IGET_OBJECT, Opcode.IGET_BOOLEAN, @@ -23,10 +23,9 @@ object OnTouchEventHandlerFingerprint : MethodFingerprint( Opcode.INT_TO_FLOAT, Opcode.INVOKE_VIRTUAL, Opcode.MOVE_RESULT, - Opcode.IF_NEZ, - Opcode.RETURN, + Opcode.IF_EQZ, Opcode.INVOKE_VIRTUAL, - Opcode.INVOKE_VIRTUAL, // pMethodReference + Opcode.INVOKE_VIRTUAL, // oMethodReference ), customFingerprint = { methodDef, _ -> methodDef.name == "onTouchEvent" } ) \ No newline at end of file