From 3c16f0fbd18908faff3f9749c494be8f19532a88 Mon Sep 17 00:00:00 2001 From: inotia00 <108592928+inotia00@users.noreply.github.com> Date: Thu, 9 May 2024 08:40:54 +0900 Subject: [PATCH] feat(YouTube Music): add support versions `6.50.53` ~ `6.51.52` --- .../music/utils/compatibility/Constants.kt | 3 ++- .../fingerprints/InitFingerprint.kt | 26 ++++++++++++------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/main/kotlin/app/revanced/patches/music/utils/compatibility/Constants.kt b/src/main/kotlin/app/revanced/patches/music/utils/compatibility/Constants.kt index cb762b13f..dacda19e8 100644 --- a/src/main/kotlin/app/revanced/patches/music/utils/compatibility/Constants.kt +++ b/src/main/kotlin/app/revanced/patches/music/utils/compatibility/Constants.kt @@ -10,7 +10,8 @@ object Constants { "6.29.58", "6.31.55", "6.33.52", - "6.50.51" + "6.50.53", + "6.51.52" ) ) ) diff --git a/src/main/kotlin/app/revanced/patches/music/utils/integrations/fingerprints/InitFingerprint.kt b/src/main/kotlin/app/revanced/patches/music/utils/integrations/fingerprints/InitFingerprint.kt index 7f15b366c..2417b6030 100644 --- a/src/main/kotlin/app/revanced/patches/music/utils/integrations/fingerprints/InitFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/music/utils/integrations/fingerprints/InitFingerprint.kt @@ -1,19 +1,25 @@ package app.revanced.patches.music.utils.integrations.fingerprints +import app.revanced.patches.music.utils.integrations.fingerprints.InitFingerprint.indexOfGetProcessNameInstruction import app.revanced.patches.shared.integrations.BaseIntegrationsPatch.IntegrationsFingerprint +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstruction import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.Method +import com.android.tools.smali.dexlib2.iface.reference.MethodReference internal object InitFingerprint : IntegrationsFingerprint( returnType = "V", parameters = emptyList(), - opcodes = listOf( - Opcode.NEW_INSTANCE, - Opcode.INVOKE_DIRECT, - Opcode.INVOKE_STATIC, - Opcode.NEW_INSTANCE, - Opcode.INVOKE_DIRECT, - Opcode.INVOKE_VIRTUAL - ), strings = listOf("activity"), - customFingerprint = { methodDef, _ -> methodDef.name == "onCreate" } -) \ No newline at end of file + customFingerprint = { methodDef, _ -> + methodDef.name == "onCreate" + && indexOfGetProcessNameInstruction(methodDef) >= 0 + } +) { + fun indexOfGetProcessNameInstruction(methodDef: Method) = + methodDef.indexOfFirstInstruction { + opcode == Opcode.INVOKE_STATIC + && getReference()?.name == "getProcessName" + } +} \ No newline at end of file