diff --git a/src/main/kotlin/app/revanced/patches/music/ad/video/patch/MusicVideoAdsPatch.kt b/src/main/kotlin/app/revanced/patches/music/ad/video/patch/MusicVideoAdsPatch.kt index 2bcb1e2ec..72b07aa3c 100644 --- a/src/main/kotlin/app/revanced/patches/music/ad/video/patch/MusicVideoAdsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/ad/video/patch/MusicVideoAdsPatch.kt @@ -4,15 +4,11 @@ import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.extensions.instruction -import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve -import app.revanced.patcher.patch.annotations.DependsOn -import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess -import app.revanced.patcher.util.smali.ExternalLabel +import app.revanced.patcher.patch.annotations.DependsOn +import app.revanced.patcher.patch.annotations.Patch import app.revanced.patches.music.misc.integrations.patch.MusicIntegrationsPatch import app.revanced.patches.music.misc.settings.patch.MusicSettingsPatch import app.revanced.shared.annotation.YouTubeMusicCompatibility diff --git a/src/main/kotlin/app/revanced/patches/music/audio/exclusiveaudio/fingerprints/ExclusiveAudioFingerprint.kt b/src/main/kotlin/app/revanced/patches/music/audio/exclusiveaudio/fingerprints/ExclusiveAudioFingerprint.kt deleted file mode 100644 index e3d3c016d..000000000 --- a/src/main/kotlin/app/revanced/patches/music/audio/exclusiveaudio/fingerprints/ExclusiveAudioFingerprint.kt +++ /dev/null @@ -1,50 +0,0 @@ -package app.revanced.patches.music.audio.exclusiveaudio.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.method.annotation.FuzzyPatternScanMethod -import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint -import org.jf.dexlib2.AccessFlags -import org.jf.dexlib2.Opcode - -@FuzzyPatternScanMethod(2) // FIXME: Test this threshold and find the best value. -object ExclusiveAudioFingerprint : MethodFingerprint( - "V", - AccessFlags.PUBLIC or AccessFlags.FINAL, - listOf("L", "Z"), - listOf( - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT_OBJECT, - Opcode.CHECK_CAST, - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT, - Opcode.IF_EQ, - Opcode.CONST_4, - Opcode.GOTO, - Opcode.NOP, - Opcode.IGET_OBJECT, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT_OBJECT, - Opcode.INVOKE_STATIC, - Opcode.MOVE_RESULT_OBJECT, - Opcode.INVOKE_VIRTUAL, - Opcode.IGET_OBJECT, - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT_OBJECT, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT, - Opcode.IF_EQZ, - Opcode.INVOKE_INTERFACE, - Opcode.MOVE_RESULT_OBJECT, - Opcode.CHECK_CAST, - Opcode.IF_EQZ, - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT_OBJECT, - Opcode.CHECK_CAST, - Opcode.IF_EQZ, - Opcode.IF_EQZ, - Opcode.INVOKE_INTERFACE, - Opcode.INVOKE_INTERFACE, - Opcode.GOTO, - Opcode.RETURN_VOID - ) -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/music/layout/minimizedplayback/patch/MinimizedPlaybackPatch.kt b/src/main/kotlin/app/revanced/patches/music/layout/minimizedplayback/patch/MinimizedPlaybackPatch.kt index 7eef65dbd..9b764fcaa 100644 --- a/src/main/kotlin/app/revanced/patches/music/layout/minimizedplayback/patch/MinimizedPlaybackPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/layout/minimizedplayback/patch/MinimizedPlaybackPatch.kt @@ -4,17 +4,13 @@ import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.data.toMethodWalker import app.revanced.patcher.extensions.addInstruction -import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess -import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod +import app.revanced.patcher.patch.annotations.Patch import app.revanced.patches.music.layout.minimizedplayback.fingerprints.MinimizedPlaybackManagerFingerprint import app.revanced.shared.annotation.YouTubeMusicCompatibility -import org.jf.dexlib2.iface.instruction.ReferenceInstruction -import org.jf.dexlib2.iface.reference.MethodReference @Patch @Name("minimized-playback-music") diff --git a/src/main/kotlin/app/revanced/patches/music/layout/minimizedplayer/fingerprints/MinimizedPlayerFingerprint.kt b/src/main/kotlin/app/revanced/patches/music/layout/minimizedplayer/fingerprints/MinimizedPlayerFingerprint.kt index d4e7e0ed1..6e722940c 100644 --- a/src/main/kotlin/app/revanced/patches/music/layout/minimizedplayer/fingerprints/MinimizedPlayerFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/music/layout/minimizedplayer/fingerprints/MinimizedPlayerFingerprint.kt @@ -4,7 +4,6 @@ import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.extensions.or import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint -import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.annotation.YouTubeMusicCompatibility import org.jf.dexlib2.AccessFlags import org.jf.dexlib2.Opcode diff --git a/src/main/kotlin/app/revanced/patches/music/layout/minimizedplayer/patch/MinimizedPlayerPatch.kt b/src/main/kotlin/app/revanced/patches/music/layout/minimizedplayer/patch/MinimizedPlayerPatch.kt index b490b040b..add7e58af 100644 --- a/src/main/kotlin/app/revanced/patches/music/layout/minimizedplayer/patch/MinimizedPlayerPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/layout/minimizedplayer/patch/MinimizedPlayerPatch.kt @@ -5,12 +5,11 @@ import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.patch.annotations.DependsOn -import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult -import app.revanced.patcher.patch.PatchResultError import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn +import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patches.music.layout.minimizedplayer.fingerprints.MinimizedPlayerFingerprint import app.revanced.patches.music.misc.integrations.patch.MusicIntegrationsPatch diff --git a/src/main/kotlin/app/revanced/patches/music/layout/tabletmode/bytecode/patch/TabletModePatch.kt b/src/main/kotlin/app/revanced/patches/music/layout/tabletmode/bytecode/patch/TabletModePatch.kt index 44f4b595b..31792098d 100644 --- a/src/main/kotlin/app/revanced/patches/music/layout/tabletmode/bytecode/patch/TabletModePatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/layout/tabletmode/bytecode/patch/TabletModePatch.kt @@ -5,19 +5,18 @@ import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.extensions.instruction -import app.revanced.patcher.patch.annotations.DependsOn -import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn +import app.revanced.patcher.patch.annotations.Patch import app.revanced.patches.music.misc.integrations.patch.MusicIntegrationsPatch import app.revanced.patches.music.misc.settings.patch.MusicSettingsPatch import app.revanced.shared.annotation.YouTubeMusicCompatibility import app.revanced.shared.extensions.findMutableMethodOf import app.revanced.shared.patches.mapping.ResourceMappingPatch -import org.jf.dexlib2.iface.instruction.formats.Instruction31i import org.jf.dexlib2.Opcode +import org.jf.dexlib2.iface.instruction.formats.Instruction31i @Patch @DependsOn( diff --git a/src/main/kotlin/app/revanced/patches/music/misc/microg/bytecode/patch/MusicMicroGBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/music/misc/microg/bytecode/patch/MusicMicroGBytecodePatch.kt index 857a13709..e2363cba3 100644 --- a/src/main/kotlin/app/revanced/patches/music/misc/microg/bytecode/patch/MusicMicroGBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/misc/microg/bytecode/patch/MusicMicroGBytecodePatch.kt @@ -48,8 +48,8 @@ class MusicMicroGBytecodePatch : BytecodePatch( // - "com.google.android.gms.phenotype.UPDATE", // - "com.google.android.gms.phenotype", override fun execute(context: BytecodeContext): PatchResult { - var YouTubePackageName = PatchOptions.YouTube_PackageName - var MusicPackageName = PatchOptions.Music_PackageName + val YouTubePackageName = PatchOptions.YouTube_PackageName + val MusicPackageName = PatchOptions.Music_PackageName // apply common microG patch MicroGBytecodeHelper.patchBytecode( diff --git a/src/main/kotlin/app/revanced/patches/music/misc/microg/resource/patch/MusicMicroGResourcePatch.kt b/src/main/kotlin/app/revanced/patches/music/misc/microg/resource/patch/MusicMicroGResourcePatch.kt index 42b874ae2..8df74fe21 100644 --- a/src/main/kotlin/app/revanced/patches/music/misc/microg/resource/patch/MusicMicroGResourcePatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/misc/microg/resource/patch/MusicMicroGResourcePatch.kt @@ -27,7 +27,7 @@ import app.revanced.shared.util.microg.MicroGResourceHelper @Version("0.0.2") class MusicMicroGResourcePatch : ResourcePatch { override fun execute(context: ResourceContext): PatchResult { - var MusicPackageName = PatchOptions.Music_PackageName + val MusicPackageName = PatchOptions.Music_PackageName // update manifest MicroGResourceHelper.patchManifest( diff --git a/src/main/kotlin/app/revanced/patches/youtube/ads/general/bytecode/patch/GeneralAdsBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/ads/general/bytecode/patch/GeneralAdsBytecodePatch.kt index 11e18b45a..c6b14f665 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/ads/general/bytecode/patch/GeneralAdsBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/ads/general/bytecode/patch/GeneralAdsBytecodePatch.kt @@ -3,16 +3,14 @@ package app.revanced.patches.youtube.ads.general.bytecode.patch import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.extensions.addInstruction import app.revanced.patcher.extensions.addInstructions import app.revanced.patcher.extensions.instruction import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultError import app.revanced.patcher.patch.PatchResultSuccess -import app.revanced.patcher.util.proxy.mutableTypes.MutableClass +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patches.youtube.ads.general.bytecode.fingerprints.ComponentContextParserFingerprint import app.revanced.patches.youtube.ads.general.bytecode.fingerprints.EmptyComponentBuilderFingerprint @@ -20,14 +18,14 @@ import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.patches.mapping.ResourceMappingPatch import app.revanced.shared.util.bytecode.BytecodeHelper import app.revanced.shared.util.integrations.Constants.ADS_PATH +import org.jf.dexlib2.Opcode import org.jf.dexlib2.builder.instruction.BuilderInstruction21s -import org.jf.dexlib2.iface.instruction.formats.Instruction31i import org.jf.dexlib2.iface.instruction.Instruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.ReferenceInstruction +import org.jf.dexlib2.iface.instruction.formats.Instruction31i import org.jf.dexlib2.iface.reference.FieldReference import org.jf.dexlib2.iface.reference.MethodReference -import org.jf.dexlib2.Opcode @DependsOn([ResourceMappingPatch::class]) @Name("hide-general-ads-bytecode-patch") diff --git a/src/main/kotlin/app/revanced/patches/youtube/button/overlaybuttons/bytecode/patch/OverlayButtonsBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/button/overlaybuttons/bytecode/patch/OverlayButtonsBytecodePatch.kt index 7ddd29751..7043d53e7 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/button/overlaybuttons/bytecode/patch/OverlayButtonsBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/button/overlaybuttons/bytecode/patch/OverlayButtonsBytecodePatch.kt @@ -1,18 +1,12 @@ package app.revanced.patches.youtube.button.overlaybuttons.bytecode.patch -import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.data.toMethodWalker -import app.revanced.patcher.extensions.addInstruction -import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint -import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess -import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patches.youtube.misc.playercontrols.bytecode.patch.PlayerControlsBytecodePatch import app.revanced.patches.youtube.misc.videoid.mainstream.patch.MainstreamVideoIdPatch import app.revanced.shared.annotation.YouTubeCompatibility diff --git a/src/main/kotlin/app/revanced/patches/youtube/button/overlaybuttons/resource/patch/OverlayButtonsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/button/overlaybuttons/resource/patch/OverlayButtonsPatch.kt index 8e7140954..7ec342d89 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/button/overlaybuttons/resource/patch/OverlayButtonsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/button/overlaybuttons/resource/patch/OverlayButtonsPatch.kt @@ -37,7 +37,7 @@ import app.revanced.shared.util.resources.ResourceUtils.copyXmlNode class OverlayButtonsResourcePatch : ResourcePatch { override fun execute(context: ResourceContext): PatchResult { - var icon = PatchOptions.Overlay_Buttons_Icon + val icon = PatchOptions.Overlay_Buttons_Icon /* * Copy resources diff --git a/src/main/kotlin/app/revanced/patches/youtube/extended/oldlayout/bytecode/patch/OldLayoutBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/extended/oldlayout/bytecode/patch/OldLayoutBytecodePatch.kt index 4befc09d7..10db84dde 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/extended/oldlayout/bytecode/patch/OldLayoutBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/extended/oldlayout/bytecode/patch/OldLayoutBytecodePatch.kt @@ -4,15 +4,12 @@ import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult -import app.revanced.patcher.patch.PatchResultError import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patches.youtube.extended.oldlayout.bytecode.fingerprints.OldLayoutFingerprint import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.util.integrations.Constants.EXTENDED_PATH -import app.revanced.shared.util.integrations.Constants.UTILS_PATH import org.jf.dexlib2.iface.instruction.OneRegisterInstruction @Name("enable-old-layout-bytecode-patch") diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/fullscreen/endscreenoverlay/bytecode/patch/HideEndscreenOverlayBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/fullscreen/endscreenoverlay/bytecode/patch/HideEndscreenOverlayBytecodePatch.kt index 319fa12ae..ac9e8978b 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/fullscreen/endscreenoverlay/bytecode/patch/HideEndscreenOverlayBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/fullscreen/endscreenoverlay/bytecode/patch/HideEndscreenOverlayBytecodePatch.kt @@ -5,18 +5,17 @@ import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.addInstructions import app.revanced.patcher.extensions.instruction -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.extensions.findMutableMethodOf import app.revanced.shared.patches.mapping.ResourceMappingPatch import app.revanced.shared.util.integrations.Constants.FULLSCREEN_LAYOUT -import org.jf.dexlib2.iface.instruction.formats.Instruction22c -import org.jf.dexlib2.iface.instruction.formats.Instruction31i import org.jf.dexlib2.Opcode +import org.jf.dexlib2.iface.instruction.formats.Instruction31i @Name("hide-endscreen-overlay-bytecode-patch") @DependsOn([ResourceMappingPatch::class]) diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/fullscreen/endscreenoverlay/resource/patch/HideEndscreenOverlayPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/fullscreen/endscreenoverlay/resource/patch/HideEndscreenOverlayPatch.kt index 462cb3611..0c0a5f3f0 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/fullscreen/endscreenoverlay/resource/patch/HideEndscreenOverlayPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/fullscreen/endscreenoverlay/resource/patch/HideEndscreenOverlayPatch.kt @@ -4,17 +4,15 @@ import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.ResourceContext -import app.revanced.patcher.patch.annotations.DependsOn -import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.patch.ResourcePatch +import app.revanced.patcher.patch.annotations.DependsOn +import app.revanced.patcher.patch.annotations.Patch import app.revanced.patches.youtube.layout.fullscreen.endscreenoverlay.bytecode.patch.HideEndscreenOverlayBytecodePatch import app.revanced.patches.youtube.misc.settings.resource.patch.SettingsPatch import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.util.resources.ResourceHelper -import app.revanced.shared.util.resources.ResourceUtils -import app.revanced.shared.util.resources.ResourceUtils.copyResources @Patch @Name("hide-endscreen-overlay") diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/fullscreen/hapticfeedback/bytecode/patch/HapticFeedBackBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/fullscreen/hapticfeedback/bytecode/patch/HapticFeedBackBytecodePatch.kt index d231c0517..8b5233b81 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/fullscreen/hapticfeedback/bytecode/patch/HapticFeedBackBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/fullscreen/hapticfeedback/bytecode/patch/HapticFeedBackBytecodePatch.kt @@ -1,6 +1,5 @@ package app.revanced.patches.youtube.layout.fullscreen.hapticfeedback.bytecode.patch -import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/general/crowdfundingbox/bytecode/patch/CrowdfundingBoxBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/general/crowdfundingbox/bytecode/patch/CrowdfundingBoxBytecodePatch.kt index ceb7b21a6..3b51f6f76 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/general/crowdfundingbox/bytecode/patch/CrowdfundingBoxBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/general/crowdfundingbox/bytecode/patch/CrowdfundingBoxBytecodePatch.kt @@ -3,18 +3,17 @@ package app.revanced.patches.youtube.layout.general.crowdfundingbox.bytecode.pat import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.extensions.findMutableMethodOf import app.revanced.shared.extensions.injectHideCall import app.revanced.shared.patches.mapping.ResourceMappingPatch +import org.jf.dexlib2.Opcode import org.jf.dexlib2.iface.instruction.formats.Instruction22c import org.jf.dexlib2.iface.instruction.formats.Instruction31i -import org.jf.dexlib2.Opcode @Name("hide-crowdfunding-box-bytecode-patch") @DependsOn([ResourceMappingPatch::class]) diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/general/headerswitch/bytecode/patch/HeaderSwitchBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/general/headerswitch/bytecode/patch/HeaderSwitchBytecodePatch.kt index e7fe90416..d1a362f28 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/general/headerswitch/bytecode/patch/HeaderSwitchBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/general/headerswitch/bytecode/patch/HeaderSwitchBytecodePatch.kt @@ -4,16 +4,15 @@ import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn +import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.extensions.findMutableMethodOf import app.revanced.shared.patches.mapping.ResourceMappingPatch -import app.revanced.shared.annotation.YouTubeCompatibility -import org.jf.dexlib2.builder.MutableMethodImplementation -import org.jf.dexlib2.iface.instruction.formats.Instruction31i import org.jf.dexlib2.Opcode +import org.jf.dexlib2.iface.instruction.formats.Instruction31i @DependsOn([ResourceMappingPatch::class]) @Name("header-switch-bytecode-patch") diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/general/mixplaylists/bytecode/fingerprints/FourthCreateMixPlaylistFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/general/mixplaylists/bytecode/fingerprints/FourthCreateMixPlaylistFingerprint.kt index 521e1fccb..df82ff6f5 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/general/mixplaylists/bytecode/fingerprints/FourthCreateMixPlaylistFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/general/mixplaylists/bytecode/fingerprints/FourthCreateMixPlaylistFingerprint.kt @@ -2,12 +2,11 @@ package app.revanced.patches.youtube.layout.general.mixplaylists.bytecode.finger import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version -import app.revanced.patcher.extensions.or import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patches.youtube.misc.resourceid.patch.SharedResourcdIdPatch import app.revanced.shared.annotation.YouTubeCompatibility -import org.jf.dexlib2.iface.instruction.WideLiteralInstruction import org.jf.dexlib2.Opcode +import org.jf.dexlib2.iface.instruction.WideLiteralInstruction @Name("mix-playlists-fourth-fingerprint") @YouTubeCompatibility diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/general/mixplaylists/bytecode/fingerprints/ThirdCreateMixPlaylistFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/general/mixplaylists/bytecode/fingerprints/ThirdCreateMixPlaylistFingerprint.kt index ae5309dc4..f7fba27cc 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/general/mixplaylists/bytecode/fingerprints/ThirdCreateMixPlaylistFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/general/mixplaylists/bytecode/fingerprints/ThirdCreateMixPlaylistFingerprint.kt @@ -2,12 +2,11 @@ package app.revanced.patches.youtube.layout.general.mixplaylists.bytecode.finger import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version -import app.revanced.patcher.extensions.or import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patches.youtube.misc.resourceid.patch.SharedResourcdIdPatch import app.revanced.shared.annotation.YouTubeCompatibility -import org.jf.dexlib2.iface.instruction.WideLiteralInstruction import org.jf.dexlib2.Opcode +import org.jf.dexlib2.iface.instruction.WideLiteralInstruction @Name("mix-playlists-third-fingerprint") @YouTubeCompatibility diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/general/mixplaylists/bytecode/patch/MixPlaylistsBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/general/mixplaylists/bytecode/patch/MixPlaylistsBytecodePatch.kt index d4672ccb9..998c6ebe4 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/general/mixplaylists/bytecode/patch/MixPlaylistsBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/general/mixplaylists/bytecode/patch/MixPlaylistsBytecodePatch.kt @@ -3,7 +3,6 @@ package app.revanced.patches.youtube.layout.general.mixplaylists.bytecode.patch import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.extensions.addInstruction import app.revanced.patcher.extensions.instruction import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patcher.patch.BytecodePatch @@ -12,11 +11,10 @@ import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patches.youtube.layout.general.mixplaylists.bytecode.fingerprints.* import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.extensions.injectHideCall -import app.revanced.shared.util.bytecode.BytecodeHelper -import org.jf.dexlib2.iface.instruction.formats.Instruction21c import org.jf.dexlib2.iface.instruction.Instruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.TwoRegisterInstruction +import org.jf.dexlib2.iface.instruction.formats.Instruction21c @Name("hide-mix-playlists-bytecode-patch") @YouTubeCompatibility diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/general/personalinformation/bytecode/patch/HideEmailAddressBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/general/personalinformation/bytecode/patch/HideEmailAddressBytecodePatch.kt index 7a1d1b670..7581a7215 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/general/personalinformation/bytecode/patch/HideEmailAddressBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/general/personalinformation/bytecode/patch/HideEmailAddressBytecodePatch.kt @@ -8,7 +8,6 @@ import app.revanced.patcher.extensions.instruction import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess -import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patches.youtube.layout.general.personalinformation.bytecode.fingerprints.AccountSwitcherAccessibilityLabelFingerprint import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.util.integrations.Constants.GENERAL_LAYOUT diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/general/startupshortsreset/bytecode/patch/HideShortsOnStartupBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/general/startupshortsreset/bytecode/patch/HideShortsOnStartupBytecodePatch.kt index 60b8347c1..1a2efd338 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/general/startupshortsreset/bytecode/patch/HideShortsOnStartupBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/general/startupshortsreset/bytecode/patch/HideShortsOnStartupBytecodePatch.kt @@ -12,7 +12,6 @@ import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patches.youtube.layout.general.startupshortsreset.bytecode.fingerprints.UserWasInShortsFingerprint import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.util.integrations.Constants.GENERAL_LAYOUT -import org.jf.dexlib2.iface.instruction.OneRegisterInstruction @Name("hide-startup-shorts-player-bytecode-patch") @YouTubeCompatibility diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/general/stories/bytecode/patch/HideStoriesBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/general/stories/bytecode/patch/HideStoriesBytecodePatch.kt index 381eae6b8..0e9118de5 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/general/stories/bytecode/patch/HideStoriesBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/general/stories/bytecode/patch/HideStoriesBytecodePatch.kt @@ -3,18 +3,17 @@ package app.revanced.patches.youtube.layout.general.stories.bytecode.patch import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.extensions.findMutableMethodOf import app.revanced.shared.extensions.injectHideCall import app.revanced.shared.patches.mapping.ResourceMappingPatch +import org.jf.dexlib2.Opcode import org.jf.dexlib2.iface.instruction.formats.Instruction22c import org.jf.dexlib2.iface.instruction.formats.Instruction31i -import org.jf.dexlib2.Opcode @Name("hide-stories-bytecode-patch") @DependsOn([ResourceMappingPatch::class]) diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/player/autoplaybutton/bytecode/patch/HideAutoplayButtonBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/player/autoplaybutton/bytecode/patch/HideAutoplayButtonBytecodePatch.kt index f99648355..7cd816c99 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/player/autoplaybutton/bytecode/patch/HideAutoplayButtonBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/player/autoplaybutton/bytecode/patch/HideAutoplayButtonBytecodePatch.kt @@ -4,11 +4,10 @@ import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess -import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patches.youtube.layout.player.autoplaybutton.bytecode.fingerprints.LayoutConstructorFingerprint import app.revanced.shared.annotation.YouTubeCompatibility diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/player/endscreencards/bytecode/patch/HideEndscreenCardsBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/player/endscreencards/bytecode/patch/HideEndscreenCardsBytecodePatch.kt index 4233a2115..e4d1e36ac 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/player/endscreencards/bytecode/patch/HideEndscreenCardsBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/player/endscreencards/bytecode/patch/HideEndscreenCardsBytecodePatch.kt @@ -3,15 +3,11 @@ package app.revanced.patches.youtube.layout.player.endscreencards.bytecode.patch import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.extensions.addInstruction import app.revanced.patcher.extensions.instruction -import app.revanced.patcher.fingerprint.Fingerprint import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint -import app.revanced.patcher.fingerprint.method.impl.MethodFingerprintResult import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess -import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.patches.youtube.layout.player.endscreencards.bytecode.fingerprints.* import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.extensions.injectHideCall diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/player/infocards/bytecode/patch/HideInfoCardsBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/player/infocards/bytecode/patch/HideInfoCardsBytecodePatch.kt index cdc5518ac..807270a27 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/player/infocards/bytecode/patch/HideInfoCardsBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/player/infocards/bytecode/patch/HideInfoCardsBytecodePatch.kt @@ -4,7 +4,6 @@ import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.extensions.instruction import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult @@ -13,8 +12,6 @@ import app.revanced.patches.youtube.layout.player.infocards.bytecode.fingerprint import app.revanced.patches.youtube.layout.player.infocards.bytecode.fingerprints.InfocardsIncognitoParentFingerprint import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.util.integrations.Constants.PLAYER_LAYOUT -import org.jf.dexlib2.builder.instruction.BuilderInstruction35c -import org.jf.dexlib2.Opcode @Name("hide-info-cards-bytecode-patch") @YouTubeCompatibility diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/player/playeroverlayfilter/bytecode/patch/PlayerOverlayFilterBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/player/playeroverlayfilter/bytecode/patch/PlayerOverlayFilterBytecodePatch.kt index edf2d1cb1..29226d931 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/player/playeroverlayfilter/bytecode/patch/PlayerOverlayFilterBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/player/playeroverlayfilter/bytecode/patch/PlayerOverlayFilterBytecodePatch.kt @@ -3,21 +3,19 @@ package app.revanced.patches.youtube.layout.player.playeroverlayfilter.bytecode. import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.extensions.addInstruction import app.revanced.patcher.extensions.addInstructions import app.revanced.patcher.extensions.instruction -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.util.smali.ExternalLabel -import app.revanced.shared.extensions.findMutableMethodOf -import app.revanced.shared.extensions.injectHideCall -import app.revanced.shared.patches.mapping.ResourceMappingPatch import app.revanced.shared.annotation.YouTubeCompatibility +import app.revanced.shared.extensions.findMutableMethodOf +import app.revanced.shared.patches.mapping.ResourceMappingPatch +import org.jf.dexlib2.Opcode import org.jf.dexlib2.iface.instruction.formats.Instruction21c import org.jf.dexlib2.iface.instruction.formats.Instruction31i -import org.jf.dexlib2.Opcode @DependsOn([ResourceMappingPatch::class]) @Name("hide-player-overlay-filter-bytecode-patch") diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/player/suggestactions/bytecode/patch/SuggestedActionsBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/player/suggestactions/bytecode/patch/SuggestedActionsBytecodePatch.kt index e35136498..5e366be79 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/player/suggestactions/bytecode/patch/SuggestedActionsBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/player/suggestactions/bytecode/patch/SuggestedActionsBytecodePatch.kt @@ -3,21 +3,17 @@ package app.revanced.patches.youtube.layout.player.suggestactions.bytecode.patch import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.extensions.addInstruction -import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.extensions.instruction -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess -import app.revanced.patcher.util.smali.ExternalLabel +import app.revanced.patcher.patch.annotations.DependsOn +import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.extensions.findMutableMethodOf import app.revanced.shared.extensions.injectHideCall import app.revanced.shared.patches.mapping.ResourceMappingPatch -import app.revanced.shared.annotation.YouTubeCompatibility +import org.jf.dexlib2.Opcode import org.jf.dexlib2.iface.instruction.formats.Instruction22c import org.jf.dexlib2.iface.instruction.formats.Instruction31i -import org.jf.dexlib2.Opcode @DependsOn([ResourceMappingPatch::class]) @Name("hide-suggested-actions-bytecode-patch") diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/seekbar/seekbartapping/bytecode/patch/SeekbarTappingBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/seekbar/seekbartapping/bytecode/patch/SeekbarTappingBytecodePatch.kt index 0ddbf5f28..4594db9be 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/seekbar/seekbartapping/bytecode/patch/SeekbarTappingBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/seekbar/seekbartapping/bytecode/patch/SeekbarTappingBytecodePatch.kt @@ -1,6 +1,5 @@ package app.revanced.patches.youtube.layout.seekbar.seekbartapping.bytecode.patch -import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext @@ -13,11 +12,11 @@ import app.revanced.patches.youtube.layout.seekbar.seekbartapping.bytecode.finge import app.revanced.patches.youtube.layout.seekbar.seekbartapping.bytecode.fingerprints.SeekbarTappingParentFingerprint import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.util.integrations.Constants.SEEKBAR_LAYOUT +import org.jf.dexlib2.Opcode import org.jf.dexlib2.builder.instruction.BuilderInstruction21t +import org.jf.dexlib2.iface.Method import org.jf.dexlib2.iface.instruction.formats.Instruction11n import org.jf.dexlib2.iface.instruction.formats.Instruction35c -import org.jf.dexlib2.iface.Method -import org.jf.dexlib2.Opcode @Name("enable-seekbar-tapping-bytecode-patch") @YouTubeCompatibility diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/seekbar/timeandseekbar/bytecode/patch/HideTimeAndSeekbarBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/seekbar/timeandseekbar/bytecode/patch/HideTimeAndSeekbarBytecodePatch.kt index ca7ea1dc7..673e7fa40 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/seekbar/timeandseekbar/bytecode/patch/HideTimeAndSeekbarBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/seekbar/timeandseekbar/bytecode/patch/HideTimeAndSeekbarBytecodePatch.kt @@ -5,11 +5,10 @@ import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.addInstructions import app.revanced.patcher.extensions.instruction -import app.revanced.patcher.extensions.MethodFingerprintExtensions.name -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patches.youtube.layout.seekbar.timeandseekbar.bytecode.fingerprints.TimeCounterFingerprint import app.revanced.shared.annotation.YouTubeCompatibility diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/branding/name/patch/CustomBrandingNamePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/branding/name/patch/CustomBrandingNamePatch.kt index d0795db6f..55edb58f4 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/branding/name/patch/CustomBrandingNamePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/branding/name/patch/CustomBrandingNamePatch.kt @@ -32,7 +32,7 @@ class CustomBrandingNamePatch : ResourcePatch { // App name val resourceFileNames = arrayOf("strings.xml") - var appName = PatchOptions.YouTube_AppName + val appName = PatchOptions.YouTube_AppName context.forEach { if (!it.name.startsWithAny(*resourceFileNames)) return@forEach diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/doublebacktoexit/patch/DoubleBackToExitPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/doublebacktoexit/patch/DoubleBackToExitPatch.kt index d879f4ab7..c167d70ef 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/doublebacktoexit/patch/DoubleBackToExitPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/doublebacktoexit/patch/DoubleBackToExitPatch.kt @@ -6,11 +6,10 @@ import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.data.toMethodWalker import app.revanced.patcher.extensions.addInstruction -import app.revanced.patcher.extensions.instruction -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.patches.youtube.misc.doublebacktoexit.fingerprint.RecyclerViewFingerprint import app.revanced.patches.youtube.misc.doublebacktoexit.fingerprint.ScrollPositionFingerprint @@ -19,8 +18,6 @@ import app.revanced.shared.extensions.toErrorResult import app.revanced.shared.patches.gestures.PredictiveBackGesturePatch import app.revanced.shared.util.bytecode.BytecodeHelper import app.revanced.shared.util.integrations.Constants.UTILS_PATH - -import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.Opcode @Name("enable-double-back-to-exit") diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/externalbrowser/bytecode/patch/ExternalBrowserBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/externalbrowser/bytecode/patch/ExternalBrowserBytecodePatch.kt index a2bc3c136..a8f317433 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/externalbrowser/bytecode/patch/ExternalBrowserBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/externalbrowser/bytecode/patch/ExternalBrowserBytecodePatch.kt @@ -4,11 +4,8 @@ import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.extensions.MethodFingerprintExtensions.name -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult -import app.revanced.patcher.patch.PatchResultError import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patches.youtube.misc.externalbrowser.bytecode.fingerprints.* import app.revanced.shared.annotation.YouTubeCompatibility diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/materialyou/patch/MaterialYouPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/materialyou/patch/MaterialYouPatch.kt index 3c069d2a6..1c025e84f 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/materialyou/patch/MaterialYouPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/materialyou/patch/MaterialYouPatch.kt @@ -45,7 +45,7 @@ class MaterialYouPatch : ResourcePatch { ) arrayOf(drawables1, drawables2, layout1).forEach { (path, resourceNames) -> - Files.createDirectory(context["res"].resolve("$path").toPath()) + Files.createDirectory(context["res"].resolve(path).toPath()) resourceNames.forEach { name -> val monetPath = "$path/$name" diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/microg/bytecode/patch/MicroGBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/microg/bytecode/patch/MicroGBytecodePatch.kt index a5eb619d8..9dc757470 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/microg/bytecode/patch/MicroGBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/microg/bytecode/patch/MicroGBytecodePatch.kt @@ -3,11 +3,10 @@ package app.revanced.patches.youtube.misc.microg.bytecode.patch import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.extensions.addInstruction -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patches.youtube.layout.player.castbutton.resource.patch.HideCastButtonPatch import app.revanced.patches.youtube.misc.clientspoof.resource.patch.ClientSpoofPatch import app.revanced.patches.youtube.misc.microg.bytecode.fingerprints.* @@ -40,7 +39,7 @@ class MicroGBytecodePatch : BytecodePatch( ) { override fun execute(context: BytecodeContext): PatchResult { - var packageName = PatchOptions.YouTube_PackageName + val packageName = PatchOptions.YouTube_PackageName // apply common microG patch MicroGBytecodeHelper.patchBytecode( diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/microg/resource/patch/MicroGPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/microg/resource/patch/MicroGPatch.kt index f87d640b0..7c9a1f7fa 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/microg/resource/patch/MicroGPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/microg/resource/patch/MicroGPatch.kt @@ -4,11 +4,11 @@ import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.ResourceContext -import app.revanced.patcher.patch.annotations.DependsOn -import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.patch.ResourcePatch +import app.revanced.patcher.patch.annotations.DependsOn +import app.revanced.patcher.patch.annotations.Patch import app.revanced.patches.youtube.misc.microg.bytecode.patch.MicroGBytecodePatch import app.revanced.patches.youtube.misc.microg.shared.Constants.PACKAGE_NAME import app.revanced.patches.youtube.misc.microg.shared.Constants.SPOOFED_PACKAGE_NAME @@ -16,7 +16,6 @@ import app.revanced.patches.youtube.misc.microg.shared.Constants.SPOOFED_PACKAGE import app.revanced.patches.youtube.misc.settings.resource.patch.SettingsPatch import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.patches.options.PatchOptions -import app.revanced.shared.util.microg.Constants.MICROG_VENDOR import app.revanced.shared.util.microg.MicroGManifestHelper import app.revanced.shared.util.microg.MicroGResourceHelper import app.revanced.shared.util.resources.ResourceHelper @@ -36,7 +35,7 @@ import app.revanced.shared.util.resources.ResourceHelper class MicroGPatch : ResourcePatch { override fun execute(context: ResourceContext): PatchResult { - var packageName = PatchOptions.YouTube_PackageName + val packageName = PatchOptions.YouTube_PackageName /* add settings diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/openlinksdirectly/bytecode/patch/OpenLinksDirectlyBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/openlinksdirectly/bytecode/patch/OpenLinksDirectlyBytecodePatch.kt index 646ef5225..e1fbf03e0 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/openlinksdirectly/bytecode/patch/OpenLinksDirectlyBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/openlinksdirectly/bytecode/patch/OpenLinksDirectlyBytecodePatch.kt @@ -11,10 +11,9 @@ import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patches.youtube.misc.openlinksdirectly.bytecode.fingerprints.* import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.util.integrations.Constants.MISC_PATH +import org.jf.dexlib2.iface.instruction.Instruction import org.jf.dexlib2.iface.instruction.formats.Instruction11x import org.jf.dexlib2.iface.instruction.formats.Instruction35c -import org.jf.dexlib2.iface.instruction.Instruction -import org.jf.dexlib2.iface.instruction.OneRegisterInstruction @Name("enable-open-links-directly-bytecode-patch") @YouTubeCompatibility diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/optimize/patch/OptimizeResourcePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/optimize/patch/OptimizeResourcePatch.kt index 50a0ea75e..c94d23102 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/optimize/patch/OptimizeResourcePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/optimize/patch/OptimizeResourcePatch.kt @@ -4,21 +4,16 @@ import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.ResourceContext -import app.revanced.patcher.patch.annotations.DependsOn -import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.patch.ResourcePatch -import app.revanced.patches.youtube.misc.optimize.patch.RedundantResourcePatch +import app.revanced.patcher.patch.annotations.DependsOn +import app.revanced.patcher.patch.annotations.Patch import app.revanced.patches.youtube.misc.optimize.patch.MissingTranslationPatch +import app.revanced.patches.youtube.misc.optimize.patch.RedundantResourcePatch import app.revanced.patches.youtube.misc.settings.resource.patch.SettingsPatch import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.util.resources.ResourceHelper -import java.io.File -import java.nio.file.Files -import java.nio.file.Path -import java.nio.file.StandardCopyOption -import java.util.Comparator @Patch @Name("optimize-resource") diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/optimize/patch/RedundantResourcePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/optimize/patch/RedundantResourcePatch.kt index 822aff1c0..d80749a12 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/optimize/patch/RedundantResourcePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/optimize/patch/RedundantResourcePatch.kt @@ -30,7 +30,7 @@ class RedundantResourcePatch : ResourcePatch { WHITELIST_XHDPI, WHITELIST_XXXHDPI ).forEach { (path, array) -> - val tmpDirectory = "$path" + "-v21" + val tmpDirectory = path + "-v21" Files.createDirectory(context["res"].resolve(tmpDirectory).toPath()) (WHITELIST_GENERAL + array).forEach { name -> @@ -40,9 +40,9 @@ class RedundantResourcePatch : ResourcePatch { context["res"].resolve("$tmpDirectory/$name").toPath(), StandardCopyOption.REPLACE_EXISTING ) - } catch (e: Exception) {} + } catch (_: Exception) {} } - val directoryPath = context["res"].resolve("$path") + val directoryPath = context["res"].resolve(path) Files.walk(directoryPath.toPath()) .map(Path::toFile) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/bytecode/patch/PlayerControlsBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/bytecode/patch/PlayerControlsBytecodePatch.kt index e7a49eead..859269ea4 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/bytecode/patch/PlayerControlsBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/bytecode/patch/PlayerControlsBytecodePatch.kt @@ -73,19 +73,19 @@ class PlayerControlsBytecodePatch : BytecodePatch( } fun injectVisibility(descriptor: String) { - showPlayerControlsFingerprintResult.injectVisibilityCall("$descriptor", "changeVisibility") + showPlayerControlsFingerprintResult.injectVisibilityCall(descriptor, "changeVisibility") } fun injectVisibilityNegated(descriptor: String) { - visibilityNegatedFingerprintResult.injectVisibilityCall("$descriptor", "changeVisibilityNegatedImmediate") + visibilityNegatedFingerprintResult.injectVisibilityCall(descriptor, "changeVisibilityNegatedImmediate") } fun initializeSB(descriptor: String) { - controlsLayoutInflateFingerprintResult.injectCalls("$descriptor") + controlsLayoutInflateFingerprintResult.injectCalls(descriptor) } fun initializeControl(descriptor: String) { - inflateFingerprintResult.injectCalls("$descriptor") + inflateFingerprintResult.injectCalls(descriptor) } } } \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/resourceid/patch/SharedResourceIdPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/resourceid/patch/SharedResourceIdPatch.kt index c71f44e08..e1e4a6693 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/resourceid/patch/SharedResourceIdPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/resourceid/patch/SharedResourceIdPatch.kt @@ -36,7 +36,7 @@ class SharedResourcdIdPatch : ResourcePatch { fun findSharedResourceId(type: String, name: String) = ResourceMappingPatch .resourceMappings - .single { it.type == "$type" && it.name == "$name" }.id + .single { it.type == type && it.name == name }.id abclistmenuitemLabelId = findSharedResourceId("layout", "abc_list_menu_item_layout") accountSwitcherAccessibilityLabelId = findSharedResourceId("string", "account_switcher_accessibility_label") diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/settings/bytecode/patch/SettingsBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/settings/bytecode/patch/SettingsBytecodePatch.kt index 20755a11d..1050ae5aa 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/settings/bytecode/patch/SettingsBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/settings/bytecode/patch/SettingsBytecodePatch.kt @@ -70,18 +70,6 @@ class SettingsBytecodePatch : BytecodePatch( val viewRegister = (instructions.elementAt(index) as Instruction31i).registerA mutableMethod.implementation!!.injectTheme(index + 2, viewRegister, "setSecondaryTheme") } -/* - resourceIds[2] -> { // tertiary theme - val insertIndex = index - 3 - val invokeInstruction = instructions.elementAt(insertIndex) - if (invokeInstruction.opcode != Opcode.IF_NE) return@forEachIndexed - - val mutableMethod = context.proxy(classDef).mutableClass.findMutableMethodOf(method) - - val viewRegister = (instructions.elementAt(index) as Instruction31i).registerA - mutableMethod.implementation!!.injectTheme(index + 2, viewRegister, "setTertiaryTheme") - } -*/ } } else -> return@forEachIndexed diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/settings/bytecode/patch/SettingsSecondaryBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/settings/bytecode/patch/SettingsSecondaryBytecodePatch.kt index 67754ec09..505057f5c 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/settings/bytecode/patch/SettingsSecondaryBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/settings/bytecode/patch/SettingsSecondaryBytecodePatch.kt @@ -4,16 +4,14 @@ import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.addInstruction -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patches.youtube.misc.resourceid.patch.SharedResourcdIdPatch import app.revanced.patches.youtube.misc.settings.bytecode.fingerprints.ThemeSetterSystemFingerprint import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.util.integrations.Constants.INTEGRATIONS_PATH -import org.jf.dexlib2.iface.instruction.formats.Instruction31i -import org.jf.dexlib2.Opcode @Name("settings-secondary-bytecode-patch") @DependsOn([SharedResourcdIdPatch::class]) diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/settings/resource/patch/SettingsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/settings/resource/patch/SettingsPatch.kt index 773ed69ea..00654ab6f 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/settings/resource/patch/SettingsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/settings/resource/patch/SettingsPatch.kt @@ -4,11 +4,10 @@ import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.ResourceContext -import app.revanced.patcher.patch.annotations.DependsOn -import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess -import app.revanced.patcher.patch.ResourcePatch +import app.revanced.patcher.patch.annotations.DependsOn +import app.revanced.patcher.patch.annotations.Patch import app.revanced.patches.youtube.misc.integrations.patch.IntegrationsPatch import app.revanced.patches.youtube.misc.manifest.patch.FixLocaleConfigErrorPatch import app.revanced.patches.youtube.misc.resourceid.patch.SharedResourcdIdPatch diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/sponsorblock/bytecode/fingerprints/RectangleFieldInvalidatorFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/sponsorblock/bytecode/fingerprints/RectangleFieldInvalidatorFingerprint.kt deleted file mode 100644 index b859cff73..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/sponsorblock/bytecode/fingerprints/RectangleFieldInvalidatorFingerprint.kt +++ /dev/null @@ -1,21 +0,0 @@ -package app.revanced.patches.youtube.misc.sponsorblock.bytecode.fingerprints - -import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint -import org.jf.dexlib2.iface.instruction.ReferenceInstruction -import org.jf.dexlib2.iface.reference.MethodReference - -object RectangleFieldInvalidatorFingerprint : MethodFingerprint( - "V", - customFingerprint = custom@{ methodDef -> - val instructions = methodDef.implementation?.instructions!! - val instructionCount = instructions.count() - - // the method has definitely more than 5 instructions - if (instructionCount < 5) return@custom false - - val referenceInstruction = instructions.elementAt(instructionCount - 2) // the second to last instruction - val reference = ((referenceInstruction as? ReferenceInstruction)?.reference as? MethodReference) - - reference?.parameterTypes?.size == 1 && reference.name == "invalidate" // the reference is the invalidate(..) method - } -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/translations/patch/TranslationsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/translations/patch/TranslationsPatch.kt index f149d51e5..a53ded0fe 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/translations/patch/TranslationsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/translations/patch/TranslationsPatch.kt @@ -25,7 +25,7 @@ class TranslationsPatch : ResourcePatch { override fun execute(context: ResourceContext): PatchResult { LANGUAGE_LIST.forEach { language -> - val directory = "values-" + "$language" + "-v21" + val directory = "values-" + language + "-v21" val relativePath = "$language/strings.xml" context["res/$directory"].mkdir() diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/videoid/legacy/patch/LegacyVideoIdPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/videoid/legacy/patch/LegacyVideoIdPatch.kt index 494c52c89..9ca92a2a3 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/videoid/legacy/patch/LegacyVideoIdPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/videoid/legacy/patch/LegacyVideoIdPatch.kt @@ -12,7 +12,6 @@ import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.patches.youtube.misc.videoid.legacy.fingerprint.LegacyVideoIdFingerprint import app.revanced.shared.annotation.YouTubeCompatibility -import app.revanced.shared.util.integrations.Constants.VIDEO_PATH import org.jf.dexlib2.iface.instruction.OneRegisterInstruction @Name("video-id-hook-legacy") diff --git a/src/main/kotlin/app/revanced/patches/youtube/misc/videoid/mainstream/patch/MainstreamVideoIdPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/misc/videoid/mainstream/patch/MainstreamVideoIdPatch.kt index 441af1efe..efdc7ffd4 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/misc/videoid/mainstream/patch/MainstreamVideoIdPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/misc/videoid/mainstream/patch/MainstreamVideoIdPatch.kt @@ -5,18 +5,13 @@ import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.data.toMethodWalker -import app.revanced.patcher.extensions.addInstruction -import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.extensions.removeInstruction -import app.revanced.patcher.extensions.instruction -import app.revanced.patcher.extensions.or -import app.revanced.patcher.extensions.replaceInstruction +import app.revanced.patcher.extensions.* import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve import app.revanced.patcher.fingerprint.method.impl.MethodFingerprintResult -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable import app.revanced.patches.youtube.misc.playertype.patch.PlayerTypeHookPatch @@ -25,15 +20,15 @@ import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.patches.timebar.HookTimebarPatch import app.revanced.shared.util.integrations.Constants.VIDEO_PATH import org.jf.dexlib2.AccessFlags +import org.jf.dexlib2.Opcode import org.jf.dexlib2.builder.MutableMethodImplementation -import org.jf.dexlib2.iface.instruction.formats.Instruction21c import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.ReferenceInstruction +import org.jf.dexlib2.iface.instruction.formats.Instruction21c import org.jf.dexlib2.iface.reference.FieldReference import org.jf.dexlib2.iface.reference.MethodReference import org.jf.dexlib2.immutable.ImmutableMethod import org.jf.dexlib2.immutable.ImmutableMethodParameter -import org.jf.dexlib2.Opcode import org.jf.dexlib2.util.MethodUtil @Name("video-id-hook-mainstream") @@ -175,7 +170,7 @@ class MainstreamVideoIdPatch : BytecodePatch( (InsertMethod.implementation!!.instructions[InsertIndex] as OneRegisterInstruction).registerA injectCall("$VideoInformation->setCurrentVideoId(Ljava/lang/String;)V") - injectCallonCreate("$VideoInformation", "onCreate") + injectCallonCreate(VideoInformation, "onCreate") offset++ // offset so setCurrentVideoId is called before any injected call diff --git a/src/main/kotlin/app/revanced/patches/youtube/swipe/swipecontrols/bytecode/patch/SwipeControlsBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/swipe/swipecontrols/bytecode/patch/SwipeControlsBytecodePatch.kt index bd0c0d313..034d28fe1 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/swipe/swipecontrols/bytecode/patch/SwipeControlsBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/swipe/swipecontrols/bytecode/patch/SwipeControlsBytecodePatch.kt @@ -1,22 +1,18 @@ package app.revanced.patches.youtube.swipe.swipecontrols.bytecode.patch -import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.extensions.instruction -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess -import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable -import app.revanced.patcher.util.smali.ExternalLabel +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.util.TypeUtil.traverseClassHierarchy -import app.revanced.patches.youtube.swipe.swipecontrols.bytecode.fingerprints.SwipeControlsHostActivityFingerprint -import app.revanced.patches.youtube.swipe.swipecontrols.bytecode.fingerprints.WatchWhileActivityFingerprint +import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable import app.revanced.patches.youtube.misc.hdrbrightness.bytecode.patch.HDRBrightnessBytecodePatch import app.revanced.patches.youtube.misc.playertype.patch.PlayerTypeHookPatch +import app.revanced.patches.youtube.swipe.swipecontrols.bytecode.fingerprints.SwipeControlsHostActivityFingerprint +import app.revanced.patches.youtube.swipe.swipecontrols.bytecode.fingerprints.WatchWhileActivityFingerprint import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.extensions.transformMethods import org.jf.dexlib2.AccessFlags diff --git a/src/main/kotlin/app/revanced/patches/youtube/video/customspeed/bytecode/patch/CustomVideoSpeedBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/video/customspeed/bytecode/patch/CustomVideoSpeedBytecodePatch.kt index e7e020cac..a4b14d4d1 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/video/customspeed/bytecode/patch/CustomVideoSpeedBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/video/customspeed/bytecode/patch/CustomVideoSpeedBytecodePatch.kt @@ -42,9 +42,9 @@ class CustomVideoSpeedBytecodePatch : BytecodePatch( "$VIDEO_PATH/VideoSpeedEntries;" } override fun execute(context: BytecodeContext): PatchResult { - var speed = PatchOptions.CustomSpeedArrays + val speed = PatchOptions.CustomSpeedArrays val splits = speed!!.replace(" ","").split(",") - if (splits.count() < 1) throw IllegalArgumentException("Invalid speed elements") + if (splits.isEmpty()) throw IllegalArgumentException("Invalid speed elements") val videoSpeedsArray = splits.map { it.toFloat().toRawBits() } val arrayGenMethod = SpeedArrayGeneratorFingerprint.result?.mutableMethod!! diff --git a/src/main/kotlin/app/revanced/patches/youtube/video/customspeed/resource/patch/CustomVideoSpeedPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/video/customspeed/resource/patch/CustomVideoSpeedPatch.kt index 4492a0094..043a1677a 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/video/customspeed/resource/patch/CustomVideoSpeedPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/video/customspeed/resource/patch/CustomVideoSpeedPatch.kt @@ -4,20 +4,18 @@ import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.ResourceContext -import app.revanced.patcher.patch.annotations.DependsOn -import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultError import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.patch.ResourcePatch -import app.revanced.patches.youtube.video.customspeed.bytecode.patch.CustomVideoSpeedBytecodePatch +import app.revanced.patcher.patch.annotations.DependsOn +import app.revanced.patcher.patch.annotations.Patch import app.revanced.patches.youtube.misc.settings.resource.patch.SettingsPatch +import app.revanced.patches.youtube.video.customspeed.bytecode.patch.CustomVideoSpeedBytecodePatch import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.patches.options.PatchOptions import app.revanced.shared.util.resources.ResourceHelper import app.revanced.shared.util.resources.ResourceUtils.copyXmlNode -import java.nio.file.Files -import java.nio.file.StandardCopyOption @Patch @Name("custom-video-speed") @@ -39,11 +37,11 @@ class CustomVideoSpeedPatch : ResourcePatch { */ context.copyXmlNode("youtube/speed/host", "values/arrays.xml", "resources") - var speed = PatchOptions.CustomSpeedArrays + val speed = PatchOptions.CustomSpeedArrays ?: return PatchResultError("Invalid video speed array.") val splits = speed.replace(" ","").split(",") - if (splits.count() < 1) throw IllegalArgumentException("Invalid speed elements") + if (splits.isEmpty()) throw IllegalArgumentException("Invalid speed elements") val speedElements = splits.map { it } for (index in 0 until splits.count()) { ResourceHelper.addEntryValues(context, speedElements[index]) diff --git a/src/main/kotlin/app/revanced/patches/youtube/video/quality/bytecode/patch/VideoQualityBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/video/quality/bytecode/patch/VideoQualityBytecodePatch.kt index c95c96cb3..530847023 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/video/quality/bytecode/patch/VideoQualityBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/video/quality/bytecode/patch/VideoQualityBytecodePatch.kt @@ -1,21 +1,19 @@ package app.revanced.patches.youtube.video.quality.bytecode.patch -import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.addInstruction import app.revanced.patcher.extensions.addInstructions import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve -import app.revanced.patcher.patch.annotations.DependsOn -import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn +import app.revanced.patches.youtube.misc.videoid.legacy.patch.LegacyVideoIdPatch import app.revanced.patches.youtube.video.quality.bytecode.fingerprints.VideoQualityReferenceFingerprint import app.revanced.patches.youtube.video.quality.bytecode.fingerprints.VideoQualitySetterFingerprint import app.revanced.patches.youtube.video.quality.bytecode.fingerprints.VideoUserQualityChangeFingerprint -import app.revanced.patches.youtube.misc.videoid.legacy.patch.LegacyVideoIdPatch import app.revanced.shared.annotation.YouTubeCompatibility import app.revanced.shared.util.integrations.Constants.VIDEO_PATH import org.jf.dexlib2.iface.instruction.ReferenceInstruction diff --git a/src/main/kotlin/app/revanced/patches/youtube/video/speed/bytecode/fingerprints/VideoSpeedReferenceFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/video/speed/bytecode/fingerprints/VideoSpeedReferenceFingerprint.kt deleted file mode 100644 index f140abdcb..000000000 --- a/src/main/kotlin/app/revanced/patches/youtube/video/speed/bytecode/fingerprints/VideoSpeedReferenceFingerprint.kt +++ /dev/null @@ -1,12 +0,0 @@ -package app.revanced.patches.youtube.video.speed.bytecode.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint -import org.jf.dexlib2.AccessFlags -import org.jf.dexlib2.Opcode - -object VideoSpeedReferenceFingerprint : MethodFingerprint( - "V", AccessFlags.PUBLIC or AccessFlags.FINAL, listOf("L"), listOf( - Opcode.IPUT_OBJECT, Opcode.RETURN_VOID - ) -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/youtube/video/speed/bytecode/patch/VideoSpeedBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/video/speed/bytecode/patch/VideoSpeedBytecodePatch.kt index 33c40851c..af2296c21 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/video/speed/bytecode/patch/VideoSpeedBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/video/speed/bytecode/patch/VideoSpeedBytecodePatch.kt @@ -13,7 +13,6 @@ import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable import app.revanced.patcher.util.smali.toInstructions -import app.revanced.patches.youtube.video.speed.bytecode.fingerprints.VideoSpeedReferenceFingerprint import app.revanced.patches.youtube.video.speed.bytecode.fingerprints.VideoSpeedSetterFingerprint import app.revanced.patches.youtube.video.speed.bytecode.fingerprints.VideoUserSpeedChangeFingerprint import app.revanced.patches.youtube.misc.videoid.legacy.patch.LegacyVideoIdPatch diff --git a/src/main/kotlin/app/revanced/shared/extensions/MethodExtensions.kt b/src/main/kotlin/app/revanced/shared/extensions/MethodExtensions.kt deleted file mode 100644 index a664b7f66..000000000 --- a/src/main/kotlin/app/revanced/shared/extensions/MethodExtensions.kt +++ /dev/null @@ -1,53 +0,0 @@ -package app.revanced.shared.extensions - -import app.revanced.patcher.extensions.addInstructions -import app.revanced.patcher.patch.PatchResultError -import app.revanced.patcher.util.proxy.mutableTypes.MutableClass -import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod -import org.jf.dexlib2.builder.BuilderInstruction -import org.jf.dexlib2.builder.MutableMethodImplementation -import org.jf.dexlib2.iface.Method -import org.jf.dexlib2.iface.instruction.Instruction -import org.jf.dexlib2.iface.instruction.ReferenceInstruction -import org.jf.dexlib2.iface.reference.FieldReference -import org.jf.dexlib2.iface.reference.MethodReference -import org.jf.dexlib2.iface.reference.Reference -import org.jf.dexlib2.immutable.reference.ImmutableMethodReference - -internal object MethodExtensions { - internal fun MutableMethodImplementation.insertBlocks( - startIndex: Int, - vararg blocks: List, - ) { - blocks.reversed().forEach { - this.addInstructions( - startIndex, it - ) - } - } - - internal fun MutableClass.addMethod(mutableMethod: MutableMethod) { - this.methods.add(mutableMethod) - } - - internal inline fun Instruction.toDescriptor(): String { - val reference = (this as ReferenceInstruction).reference - return when (T::class) { - MethodReference::class -> { - val methodReference = reference as MethodReference - "${methodReference.definingClass}->${methodReference.name}(${ - methodReference.parameterTypes.joinToString( - "" - ) { it } - })${methodReference.returnType}" - } - - FieldReference::class -> { - val fieldReference = reference as FieldReference - "${fieldReference.definingClass}->${fieldReference.name}:${fieldReference.type}" - } - - else -> throw PatchResultError("Unsupported reference type") - } - } -} \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/shared/fingerprints/PivotBarFingerprint.kt b/src/main/kotlin/app/revanced/shared/fingerprints/PivotBarFingerprint.kt index ba72f9959..d7085ca76 100644 --- a/src/main/kotlin/app/revanced/shared/fingerprints/PivotBarFingerprint.kt +++ b/src/main/kotlin/app/revanced/shared/fingerprints/PivotBarFingerprint.kt @@ -1,6 +1,5 @@ package app.revanced.shared.fingerprints -import app.revanced.patcher.extensions.or import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patches.youtube.misc.resourceid.patch.SharedResourcdIdPatch import org.jf.dexlib2.Opcode diff --git a/src/main/kotlin/app/revanced/shared/patches/gestures/PredictiveBackGesturePatch.kt b/src/main/kotlin/app/revanced/shared/patches/gestures/PredictiveBackGesturePatch.kt index dc91faed0..ec262e3d9 100644 --- a/src/main/kotlin/app/revanced/shared/patches/gestures/PredictiveBackGesturePatch.kt +++ b/src/main/kotlin/app/revanced/shared/patches/gestures/PredictiveBackGesturePatch.kt @@ -7,7 +7,6 @@ import app.revanced.patcher.data.ResourceContext import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.patch.ResourcePatch -import app.revanced.patcher.patch.annotations.Patch @Name("predictive-back-gesture") @Description("Enables the predictive back gesture introduced on Android 13.") diff --git a/src/main/kotlin/app/revanced/shared/patches/settings/AbstractSettingsResourcePatch.kt b/src/main/kotlin/app/revanced/shared/patches/settings/AbstractSettingsResourcePatch.kt index 8fb07777b..6ed0fab0e 100644 --- a/src/main/kotlin/app/revanced/shared/patches/settings/AbstractSettingsResourcePatch.kt +++ b/src/main/kotlin/app/revanced/shared/patches/settings/AbstractSettingsResourcePatch.kt @@ -8,7 +8,6 @@ import app.revanced.shared.util.resources.ResourceHelper import app.revanced.shared.util.resources.ResourceUtils import app.revanced.shared.util.resources.ResourceUtils.copyResources import app.revanced.shared.util.resources.ResourceUtils.copyXmlNode -import org.w3c.dom.Element /** * Abstract settings resource patch diff --git a/src/main/kotlin/app/revanced/shared/patches/timebar/HookTimebarPatch.kt b/src/main/kotlin/app/revanced/shared/patches/timebar/HookTimebarPatch.kt index 9ab891c8e..463731d4a 100644 --- a/src/main/kotlin/app/revanced/shared/patches/timebar/HookTimebarPatch.kt +++ b/src/main/kotlin/app/revanced/shared/patches/timebar/HookTimebarPatch.kt @@ -3,20 +3,18 @@ package app.revanced.shared.patches.timebar import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Version import app.revanced.patcher.data.BytecodeContext -import app.revanced.patcher.extensions.addInstruction -import app.revanced.patcher.extensions.instruction import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve import app.revanced.patcher.fingerprint.method.impl.MethodFingerprintResult -import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patches.youtube.misc.resourceid.patch.SharedResourcdIdPatch import app.revanced.shared.annotation.YouTubeCompatibility +import app.revanced.shared.extensions.toErrorResult import app.revanced.shared.fingerprints.EmptyColorFingerprint import app.revanced.shared.fingerprints.OnDrawFingerprint import app.revanced.shared.fingerprints.TimebarFingerprint -import app.revanced.shared.extensions.toErrorResult @Name("hook-timebar-patch") @DependsOn([SharedResourcdIdPatch::class]) diff --git a/src/main/kotlin/app/revanced/shared/util/bytecode/BytecodeHelper.kt b/src/main/kotlin/app/revanced/shared/util/bytecode/BytecodeHelper.kt index b79fdde6b..4d491d998 100644 --- a/src/main/kotlin/app/revanced/shared/util/bytecode/BytecodeHelper.kt +++ b/src/main/kotlin/app/revanced/shared/util/bytecode/BytecodeHelper.kt @@ -60,9 +60,9 @@ internal object BytecodeHelper { ) { context.classes.forEach { classDef -> classDef.methods.forEach { method -> - if (classDef.type.endsWith("PatchStatus;") && method.name == "$name") { + if (classDef.type.endsWith("PatchStatus;") && method.name == name) { val patchStatusMethod = - context.proxy(classDef).mutableClass.methods.first { it.name == "$name" } + context.proxy(classDef).mutableClass.methods.first { it.name == name } patchStatusMethod.replaceInstruction( 0, diff --git a/src/main/kotlin/app/revanced/shared/util/resources/IconHelper.kt b/src/main/kotlin/app/revanced/shared/util/resources/IconHelper.kt index 069bff888..ba88f87a5 100644 --- a/src/main/kotlin/app/revanced/shared/util/resources/IconHelper.kt +++ b/src/main/kotlin/app/revanced/shared/util/resources/IconHelper.kt @@ -77,6 +77,6 @@ internal object IconHelper { ) } } - } catch (e: Exception) {} + } catch (_: Exception) {} } } \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/shared/util/resources/ResourceHelper.kt b/src/main/kotlin/app/revanced/shared/util/resources/ResourceHelper.kt index 8827a44e0..586798356 100644 --- a/src/main/kotlin/app/revanced/shared/util/resources/ResourceHelper.kt +++ b/src/main/kotlin/app/revanced/shared/util/resources/ResourceHelper.kt @@ -9,7 +9,7 @@ internal object ResourceHelper { context: ResourceContext, speed: String ) { - var path = "res/values/arrays.xml" + val path = "res/values/arrays.xml" context.xmlEditor[path].use { editor -> with(editor.file) { @@ -21,7 +21,7 @@ internal object ResourceHelper { val node = resourcesNode.childNodes.item(i) as? Element ?: continue if (node.getAttribute("name") == "revanced_video_speed_entry_values") { - newElement.appendChild(createTextNode("$speed")) + newElement.appendChild(createTextNode(speed)) node.appendChild(newElement) } @@ -34,7 +34,7 @@ internal object ResourceHelper { context: ResourceContext, speed: String ) { - var path = "res/values/arrays.xml" + val path = "res/values/arrays.xml" context.xmlEditor[path].use { editor -> with(editor.file) { @@ -46,7 +46,7 @@ internal object ResourceHelper { val node = resourcesNode.childNodes.item(i) as? Element ?: continue if (node.getAttribute("name") == "revanced_video_speed_entries") { - newElement.appendChild(createTextNode("$speed")) + newElement.appendChild(createTextNode(speed)) node.appendChild(newElement) } @@ -261,7 +261,7 @@ internal object ResourceHelper { prefs.writeText( prefs.readText().replace( "@string/revanced_labels_default", - "$appName" + appName ) ) }