mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-05-03 08:04:36 +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.10.37",
|
||||||
"18.11.36",
|
"18.11.36",
|
||||||
"18.12.35",
|
"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
|
import org.jf.dexlib2.Opcode
|
||||||
|
|
||||||
object MiniPlayerOverrideFingerprint : MethodFingerprint(
|
object MiniPlayerOverrideFingerprint : MethodFingerprint(
|
||||||
returnType = "Z",
|
returnType = "L",
|
||||||
access = AccessFlags.PUBLIC or AccessFlags.STATIC,
|
access = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = listOf("L"),
|
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.patches.youtube.misc.settings.resource.patch.SettingsPatch
|
||||||
import app.revanced.util.integrations.Constants.GENERAL
|
import app.revanced.util.integrations.Constants.GENERAL
|
||||||
import org.jf.dexlib2.Opcode
|
import org.jf.dexlib2.Opcode
|
||||||
|
import org.jf.dexlib2.builder.instruction.BuilderInstruction21c
|
||||||
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
|
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
|
||||||
|
|
||||||
@Patch
|
@Patch
|
||||||
@ -38,7 +39,7 @@ class TabletMiniPlayerPatch : BytecodePatch(
|
|||||||
listOf(
|
listOf(
|
||||||
MiniPlayerDimensionsCalculatorFingerprint,
|
MiniPlayerDimensionsCalculatorFingerprint,
|
||||||
MiniPlayerResponseModelSizeCheckFingerprint,
|
MiniPlayerResponseModelSizeCheckFingerprint,
|
||||||
MiniPlayerOverrideParentFingerprint
|
MiniPlayerOverrideFingerprint
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
override fun execute(context: BytecodeContext): PatchResult {
|
override fun execute(context: BytecodeContext): PatchResult {
|
||||||
@ -50,15 +51,16 @@ class TabletMiniPlayerPatch : BytecodePatch(
|
|||||||
} ?: return MiniPlayerOverrideNoContextFingerprint.toErrorResult()
|
} ?: return MiniPlayerOverrideNoContextFingerprint.toErrorResult()
|
||||||
} ?: return MiniPlayerDimensionsCalculatorFingerprint.toErrorResult()
|
} ?: return MiniPlayerDimensionsCalculatorFingerprint.toErrorResult()
|
||||||
|
|
||||||
MiniPlayerOverrideParentFingerprint.result?.let { parentResult ->
|
MiniPlayerOverrideFingerprint.result?.let {
|
||||||
MiniPlayerOverrideFingerprint.also { it.resolve(context, parentResult.classDef) }.result?.let { result ->
|
val targetIndex = it.mutableMethod.implementation!!.instructions.indexOfFirst { instruction ->
|
||||||
(context.toMethodWalker(result.method)
|
instruction.opcode == Opcode.CONST_STRING &&
|
||||||
.nextMethod(result.scanResult.patternScanResult!!.startIndex, true)
|
(instruction as BuilderInstruction21c).reference.toString() == "appName"
|
||||||
.getMethod() as MutableMethod)
|
} + 2
|
||||||
|
(context.toMethodWalker(it.method)
|
||||||
|
.nextMethod(targetIndex, true)
|
||||||
|
.getMethod() as MutableMethod)
|
||||||
.instructionProxyCall()
|
.instructionProxyCall()
|
||||||
} ?: return MiniPlayerOverrideFingerprint.toErrorResult()
|
} ?: return MiniPlayerOverrideFingerprint.toErrorResult()
|
||||||
|
|
||||||
} ?: return MiniPlayerOverrideParentFingerprint.toErrorResult()
|
|
||||||
|
|
||||||
MiniPlayerResponseModelSizeCheckFingerprint.result?.let {
|
MiniPlayerResponseModelSizeCheckFingerprint.result?.let {
|
||||||
val (_, _, _) = it.addProxyCall()
|
val (_, _, _) = it.addProxyCall()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user