mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-05-02 15:44:37 +02:00
add support YouTube v18.14.40
This commit is contained in:
parent
90b7577914
commit
e2a57503ee
@ -13,7 +13,8 @@ import app.revanced.patcher.annotation.Package
|
||||
"18.10.37",
|
||||
"18.11.36",
|
||||
"18.12.35",
|
||||
"18.13.38"
|
||||
"18.13.38",
|
||||
"18.14.40"
|
||||
)
|
||||
)]
|
||||
)
|
||||
|
@ -6,8 +6,8 @@ import org.jf.dexlib2.AccessFlags
|
||||
import org.jf.dexlib2.Opcode
|
||||
|
||||
object MiniPlayerOverrideFingerprint : MethodFingerprint(
|
||||
returnType = "Z",
|
||||
access = AccessFlags.PUBLIC or AccessFlags.STATIC,
|
||||
returnType = "L",
|
||||
access = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
parameters = listOf("L"),
|
||||
opcodes = listOf(Opcode.INVOKE_STATIC), // anchor to insert the instruction
|
||||
strings = listOf("appName")
|
||||
)
|
@ -1,12 +0,0 @@
|
||||
package app.revanced.patches.youtube.layout.general.tabletminiplayer.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
import org.jf.dexlib2.AccessFlags
|
||||
|
||||
object MiniPlayerOverrideParentFingerprint : MethodFingerprint(
|
||||
returnType = "L",
|
||||
access = AccessFlags.PUBLIC or AccessFlags.STATIC,
|
||||
parameters = listOf("L"),
|
||||
strings = listOf("VIDEO_QUALITIES_QUICK_MENU_BOTTOM_SHEET_FRAGMENT")
|
||||
)
|
@ -21,6 +21,7 @@ import app.revanced.patches.youtube.misc.resourceid.patch.SharedResourceIdPatch
|
||||
import app.revanced.patches.youtube.misc.settings.resource.patch.SettingsPatch
|
||||
import app.revanced.util.integrations.Constants.GENERAL
|
||||
import org.jf.dexlib2.Opcode
|
||||
import org.jf.dexlib2.builder.instruction.BuilderInstruction21c
|
||||
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
|
||||
@Patch
|
||||
@ -38,7 +39,7 @@ class TabletMiniPlayerPatch : BytecodePatch(
|
||||
listOf(
|
||||
MiniPlayerDimensionsCalculatorFingerprint,
|
||||
MiniPlayerResponseModelSizeCheckFingerprint,
|
||||
MiniPlayerOverrideParentFingerprint
|
||||
MiniPlayerOverrideFingerprint
|
||||
)
|
||||
) {
|
||||
override fun execute(context: BytecodeContext): PatchResult {
|
||||
@ -50,15 +51,16 @@ class TabletMiniPlayerPatch : BytecodePatch(
|
||||
} ?: return MiniPlayerOverrideNoContextFingerprint.toErrorResult()
|
||||
} ?: return MiniPlayerDimensionsCalculatorFingerprint.toErrorResult()
|
||||
|
||||
MiniPlayerOverrideParentFingerprint.result?.let { parentResult ->
|
||||
MiniPlayerOverrideFingerprint.also { it.resolve(context, parentResult.classDef) }.result?.let { result ->
|
||||
(context.toMethodWalker(result.method)
|
||||
.nextMethod(result.scanResult.patternScanResult!!.startIndex, true)
|
||||
.getMethod() as MutableMethod)
|
||||
MiniPlayerOverrideFingerprint.result?.let {
|
||||
val targetIndex = it.mutableMethod.implementation!!.instructions.indexOfFirst { instruction ->
|
||||
instruction.opcode == Opcode.CONST_STRING &&
|
||||
(instruction as BuilderInstruction21c).reference.toString() == "appName"
|
||||
} + 2
|
||||
(context.toMethodWalker(it.method)
|
||||
.nextMethod(targetIndex, true)
|
||||
.getMethod() as MutableMethod)
|
||||
.instructionProxyCall()
|
||||
} ?: return MiniPlayerOverrideFingerprint.toErrorResult()
|
||||
|
||||
} ?: return MiniPlayerOverrideParentFingerprint.toErrorResult()
|
||||
} ?: return MiniPlayerOverrideFingerprint.toErrorResult()
|
||||
|
||||
MiniPlayerResponseModelSizeCheckFingerprint.result?.let {
|
||||
val (_, _, _) = it.addProxyCall()
|
||||
|
Loading…
x
Reference in New Issue
Block a user