refactor(youtube): move the patch to the correct path

This commit is contained in:
inotia00
2023-07-04 14:38:51 +09:00
parent 517539dcf7
commit 8ac9805538
5 changed files with 17 additions and 17 deletions

View File

@ -12,9 +12,9 @@ import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.youtube.flyoutpanel.oldqualitylayout.fingerprints.NewQualityLayoutBuilderFingerprint
import app.revanced.patches.youtube.flyoutpanel.oldqualitylayout.fingerprints.QualityMenuViewInflateFingerprint import app.revanced.patches.youtube.flyoutpanel.oldqualitylayout.fingerprints.QualityMenuViewInflateFingerprint
import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility
import app.revanced.patches.youtube.utils.fingerprints.NewFlyoutPanelBuilderFingerprint
import app.revanced.patches.youtube.utils.litho.patch.LithoFilterPatch import app.revanced.patches.youtube.utils.litho.patch.LithoFilterPatch
import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch
import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch
@ -36,14 +36,14 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Version("0.0.1") @Version("0.0.1")
class OldQualityLayoutPatch : BytecodePatch( class OldQualityLayoutPatch : BytecodePatch(
listOf( listOf(
NewQualityLayoutBuilderFingerprint, NewFlyoutPanelBuilderFingerprint,
QualityMenuViewInflateFingerprint QualityMenuViewInflateFingerprint
) )
) { ) {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {
/** /**
* For old player flyout panels * Old method
*/ */
QualityMenuViewInflateFingerprint.result?.let { QualityMenuViewInflateFingerprint.result?.let {
it.mutableMethod.apply { it.mutableMethod.apply {
@ -58,9 +58,9 @@ class OldQualityLayoutPatch : BytecodePatch(
} ?: return QualityMenuViewInflateFingerprint.toErrorResult() } ?: return QualityMenuViewInflateFingerprint.toErrorResult()
/** /**
* For new player flyout panels * New method
*/ */
NewQualityLayoutBuilderFingerprint.result?.let { NewFlyoutPanelBuilderFingerprint.result?.let {
it.mutableMethod.apply { it.mutableMethod.apply {
val insertIndex = implementation!!.instructions.size - 1 val insertIndex = implementation!!.instructions.size - 1
val insertRegister = getInstruction<OneRegisterInstruction>(insertIndex).registerA val insertRegister = getInstruction<OneRegisterInstruction>(insertIndex).registerA
@ -70,7 +70,7 @@ class OldQualityLayoutPatch : BytecodePatch(
"invoke-static { v$insertRegister }, $FLYOUT_PANEL->enableOldQualityMenu(Landroid/widget/LinearLayout;)V" "invoke-static { v$insertRegister }, $FLYOUT_PANEL->enableOldQualityMenu(Landroid/widget/LinearLayout;)V"
) )
} }
} ?: return NewQualityLayoutBuilderFingerprint.toErrorResult() } ?: return NewFlyoutPanelBuilderFingerprint.toErrorResult()
context.updatePatchStatus("OldQualityLayout") context.updatePatchStatus("OldQualityLayout")

View File

@ -1,4 +1,4 @@
package app.revanced.patches.youtube.flyoutpanel.oldqualitylayout.fingerprints package app.revanced.patches.youtube.utils.fingerprints
import app.revanced.patcher.extensions.or import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
@ -6,7 +6,7 @@ import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch
import app.revanced.util.bytecode.isWideLiteralExists import app.revanced.util.bytecode.isWideLiteralExists
import org.jf.dexlib2.AccessFlags import org.jf.dexlib2.AccessFlags
object NewQualityLayoutBuilderFingerprint : MethodFingerprint( object NewFlyoutPanelBuilderFingerprint : MethodFingerprint(
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
parameters = listOf("L"), parameters = listOf("L"),
returnType = "Landroid/widget/LinearLayout;", returnType = "Landroid/widget/LinearLayout;",

View File

@ -5,7 +5,7 @@ import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags import org.jf.dexlib2.AccessFlags
import org.jf.dexlib2.Opcode import org.jf.dexlib2.Opcode
object NewFlyoutPanelsOnClickListenerFingerprint : MethodFingerprint( object NewFlyoutPanelOnClickListenerFingerprint : MethodFingerprint(
returnType = "L", returnType = "L",
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
parameters = listOf("L"), parameters = listOf("L"),

View File

@ -15,7 +15,7 @@ import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility
import app.revanced.patches.youtube.utils.fingerprints.NewFlyoutPanelsOnClickListenerFingerprint import app.revanced.patches.youtube.utils.fingerprints.NewFlyoutPanelOnClickListenerFingerprint
import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch.Companion.contexts import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch.Companion.contexts
import app.revanced.patches.youtube.utils.videocpn.patch.VideoCpnPatch import app.revanced.patches.youtube.utils.videocpn.patch.VideoCpnPatch
@ -44,14 +44,14 @@ import org.jf.dexlib2.iface.reference.FieldReference
@Version("0.0.1") @Version("0.0.1")
class VideoQualityPatch : BytecodePatch( class VideoQualityPatch : BytecodePatch(
listOf( listOf(
NewFlyoutPanelsOnClickListenerFingerprint, NewFlyoutPanelOnClickListenerFingerprint,
VideoQualitySetterFingerprint, VideoQualitySetterFingerprint,
VideoQualitySettingsParentFingerprint VideoQualitySettingsParentFingerprint
) )
) { ) {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {
NewFlyoutPanelsOnClickListenerFingerprint.result?.let { parentResult -> NewFlyoutPanelOnClickListenerFingerprint.result?.let { parentResult ->
NewVideoQualityChangedFingerprint.also { NewVideoQualityChangedFingerprint.also {
it.resolve( it.resolve(
context, context,
@ -68,7 +68,7 @@ class VideoQualityPatch : BytecodePatch(
) )
} }
} }
} ?: return NewFlyoutPanelsOnClickListenerFingerprint.toErrorResult() } ?: return NewFlyoutPanelOnClickListenerFingerprint.toErrorResult()
VideoQualitySetterFingerprint.result?.let { parentResult -> VideoQualitySetterFingerprint.result?.let { parentResult ->
VideoQualityReferenceFingerprint.also { VideoQualityReferenceFingerprint.also {

View File

@ -14,7 +14,7 @@ import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility
import app.revanced.patches.youtube.utils.fingerprints.NewFlyoutPanelsOnClickListenerFingerprint import app.revanced.patches.youtube.utils.fingerprints.NewFlyoutPanelOnClickListenerFingerprint
import app.revanced.patches.youtube.utils.overridespeed.patch.OverrideSpeedHookPatch import app.revanced.patches.youtube.utils.overridespeed.patch.OverrideSpeedHookPatch
import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.youtube.utils.videocpn.patch.VideoCpnPatch import app.revanced.patches.youtube.utils.videocpn.patch.VideoCpnPatch
@ -34,11 +34,11 @@ import org.jf.dexlib2.iface.instruction.FiveRegisterInstruction
@YouTubeCompatibility @YouTubeCompatibility
@Version("0.0.1") @Version("0.0.1")
class VideoSpeedPatch : BytecodePatch( class VideoSpeedPatch : BytecodePatch(
listOf(NewFlyoutPanelsOnClickListenerFingerprint) listOf(NewFlyoutPanelOnClickListenerFingerprint)
) { ) {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {
NewFlyoutPanelsOnClickListenerFingerprint.result?.let { parentResult -> NewFlyoutPanelOnClickListenerFingerprint.result?.let { parentResult ->
NewVideoSpeedChangedFingerprint.also { NewVideoSpeedChangedFingerprint.also {
it.resolve( it.resolve(
context, context,
@ -57,7 +57,7 @@ class VideoSpeedPatch : BytecodePatch(
} }
} }
} ?: return NewVideoSpeedChangedFingerprint.toErrorResult() } ?: return NewVideoSpeedChangedFingerprint.toErrorResult()
} ?: return NewFlyoutPanelsOnClickListenerFingerprint.toErrorResult() } ?: return NewFlyoutPanelOnClickListenerFingerprint.toErrorResult()
VideoCpnPatch.injectCall("$INTEGRATIONS_VIDEO_SPEED_CLASS_DESCRIPTOR->newVideoStarted(Ljava/lang/String;Z)V") VideoCpnPatch.injectCall("$INTEGRATIONS_VIDEO_SPEED_CLASS_DESCRIPTOR->newVideoStarted(Ljava/lang/String;Z)V")