feat(YouTube): add support version 19.21.40

This commit is contained in:
inotia00
2024-06-13 00:34:35 +09:00
parent 58e93da4f8
commit e4855808ba
4 changed files with 29 additions and 8 deletions

View File

@ -16,6 +16,7 @@ import app.revanced.patches.youtube.player.fullscreen.fingerprints.LandScapeMode
import app.revanced.patches.youtube.player.fullscreen.fingerprints.OrientationParentFingerprint
import app.revanced.patches.youtube.player.fullscreen.fingerprints.OrientationPrimaryFingerprint
import app.revanced.patches.youtube.player.fullscreen.fingerprints.OrientationSecondaryFingerprint
import app.revanced.patches.youtube.player.fullscreen.fingerprints.PlayerTitleViewFingerprint
import app.revanced.patches.youtube.player.fullscreen.fingerprints.QuickActionsElementFingerprint
import app.revanced.patches.youtube.player.fullscreen.fingerprints.RelatedEndScreenResultsFingerprint
import app.revanced.patches.youtube.player.fullscreen.fingerprints.VideoPortraitParentFingerprint
@ -62,6 +63,7 @@ object FullscreenComponentsPatch : BaseBytecodePatch(
LandScapeModeConfigFingerprint,
LayoutConstructorFingerprint,
OrientationParentFingerprint,
PlayerTitleViewFingerprint,
QuickActionsElementFingerprint,
RelatedEndScreenResultsFingerprint,
VideoPortraitParentFingerprint,
@ -89,9 +91,13 @@ object FullscreenComponentsPatch : BaseBytecodePatch(
}
}
LayoutConstructorFingerprint.resultOrThrow().let {
PlayerTitleViewFingerprint.resultOrThrow().let {
it.mutableMethod.apply {
val insertIndex = getTargetIndexWithMethodReferenceName("addView")
val insertReference =
getInstruction<ReferenceInstruction>(insertIndex).reference.toString()
if (!insertReference.startsWith("Landroid/widget/FrameLayout;"))
throw PatchException("Reference does not match: $insertReference")
val insertInstruction = getInstruction<FiveRegisterInstruction>(insertIndex)
replaceInstruction(

View File

@ -0,0 +1,12 @@
package app.revanced.patches.youtube.player.fullscreen.fingerprints
import app.revanced.patcher.extensions.or
import app.revanced.patches.youtube.utils.resourceid.SharedResourceIdPatch.PlayerVideoTitleView
import app.revanced.util.fingerprint.LiteralValueFingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal object PlayerTitleViewFingerprint : LiteralValueFingerprint(
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
returnType = "V",
literalSupplier = { PlayerVideoTitleView }
)