refactor(music): renamed some patches

This commit is contained in:
inotia00 2023-06-20 23:04:52 +09:00
parent bf643c23c5
commit cd8adce32b
38 changed files with 129 additions and 132 deletions

View File

@ -9,8 +9,8 @@ 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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.utils.litho.patch.MusicLithoFilterPatch import app.revanced.patches.music.utils.litho.patch.LithoFilterPatch
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.shared.patch.videoads.AbstractVideoAdsPatch import app.revanced.patches.shared.patch.videoads.AbstractVideoAdsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_ADS_PATH import app.revanced.util.integrations.Constants.MUSIC_ADS_PATH
@ -20,19 +20,19 @@ import app.revanced.util.integrations.Constants.MUSIC_ADS_PATH
@Description("Removes ads in the music player.") @Description("Removes ads in the music player.")
@DependsOn( @DependsOn(
[ [
MusicLithoFilterPatch::class, LithoFilterPatch::class,
MusicSettingsPatch::class SettingsPatch::class
] ]
) )
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class MusicVideoAdsPatch : AbstractVideoAdsPatch( class VideoAdsPatch : AbstractVideoAdsPatch(
"$MUSIC_ADS_PATH/HideMusicAdsPatch;->hideMusicAds()Z" "$MUSIC_ADS_PATH/HideMusicAdsPatch;->hideMusicAds()Z"
) { ) {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {
super.execute(context) super.execute(context)
MusicSettingsPatch.addMusicPreference(CategoryType.ADS, "revanced_hide_music_ads", "true") SettingsPatch.addMusicPreference(CategoryType.ADS, "revanced_hide_music_ads", "true")
return PatchResultSuccess() return PatchResultSuccess()
} }

View File

@ -13,7 +13,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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.shared.fingerprints.captions.SubtitleTrackFingerprint import app.revanced.patches.shared.fingerprints.captions.SubtitleTrackFingerprint
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
@ -22,7 +22,7 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Patch @Patch
@Name("disable-auto-captions") @Name("disable-auto-captions")
@Description("Disable forced captions from automatically enabling in video player.") @Description("Disable forced captions from automatically enabling in video player.")
@DependsOn([MusicSettingsPatch::class]) @DependsOn([SettingsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class DisableAutoCaptionsPatch : BytecodePatch( class DisableAutoCaptionsPatch : BytecodePatch(
@ -44,7 +44,7 @@ class DisableAutoCaptionsPatch : BytecodePatch(
} }
} ?: return SubtitleTrackFingerprint.toErrorResult() } ?: return SubtitleTrackFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_disable_auto_captions", "revanced_disable_auto_captions",
"false" "false"

View File

@ -15,7 +15,7 @@ import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.blacknavbar.fingerprints.TabLayoutFingerprint import app.revanced.patches.music.layout.blacknavbar.fingerprints.TabLayoutFingerprint
import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@ -25,7 +25,7 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Description("Sets the navigation bar color to black.") @Description("Sets the navigation bar color to black.")
@DependsOn( @DependsOn(
[ [
MusicSettingsPatch::class, SettingsPatch::class,
SharedResourceIdPatch::class SharedResourceIdPatch::class
] ]
) )
@ -50,7 +50,7 @@ class BlackNavbarPatch : BytecodePatch(
} }
} ?: return TabLayoutFingerprint.toErrorResult() } ?: return TabLayoutFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_enable_black_navbar", "revanced_enable_black_navbar",
"true" "true"

View File

@ -13,11 +13,11 @@ import app.revanced.util.resources.IconHelper.customIconMusic
import app.revanced.util.resources.IconHelper.customIconMusicAdditional import app.revanced.util.resources.IconHelper.customIconMusicAdditional
@Patch(false) @Patch(false)
@Name("custom-branding-music-mmt") @Name("custom-branding-icon-mmt")
@Description("Changes the YouTube Music launcher icon to MMT.") @Description("Changes the YouTube Music launcher icon to MMT.")
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class CustomBrandingMusicIconMMTPatch : ResourcePatch { class CustomBrandingIconMMTPatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult { override fun execute(context: ResourceContext): PatchResult {
context.customIconMusic("mmt") context.customIconMusic("mmt")

View File

@ -12,11 +12,11 @@ import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.util.resources.IconHelper.customIconMusic import app.revanced.util.resources.IconHelper.customIconMusic
@Patch @Patch
@Name("custom-branding-music-revancify-blue") @Name("custom-branding-icon-revancify-blue")
@Description("Changes the YouTube Music launcher icon to Revancify Blue.") @Description("Changes the YouTube Music launcher icon to Revancify Blue.")
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class CustomBrandingMusicIconRevancifyBluePatch : ResourcePatch { class CustomBrandingIconRevancifyBluePatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult { override fun execute(context: ResourceContext): PatchResult {
context.customIconMusic("revancify-blue") context.customIconMusic("revancify-blue")

View File

@ -12,11 +12,11 @@ import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.util.resources.IconHelper.customIconMusic import app.revanced.util.resources.IconHelper.customIconMusic
@Patch(false) @Patch(false)
@Name("custom-branding-music-revancify-red") @Name("custom-branding-icon-revancify-red")
@Description("Changes the YouTube Music launcher icon to Revancify Red.") @Description("Changes the YouTube Music launcher icon to Revancify Red.")
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class CustomBrandingMusicIconRevancifyRedPatch : ResourcePatch { class CustomBrandingIconRevancifyRedPatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult { override fun execute(context: ResourceContext): PatchResult {
context.customIconMusic("revancify-red") context.customIconMusic("revancify-red")

View File

@ -19,7 +19,7 @@ import org.w3c.dom.Element
@Description("Changes the Music launcher name to your choice (defaults to YTM Extended, ReVanced Music Extended).") @Description("Changes the Music launcher name to your choice (defaults to YTM Extended, ReVanced Music Extended).")
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class CustomBrandingMusicNamePatch : ResourcePatch { class CustomBrandingNamePatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult { override fun execute(context: ResourceContext): PatchResult {
// App name // App name

View File

@ -10,8 +10,8 @@ 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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.utils.litho.patch.MusicLithoFilterPatch import app.revanced.patches.music.utils.litho.patch.LithoFilterPatch
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
@Patch @Patch
@ -19,8 +19,8 @@ import app.revanced.util.enum.CategoryType
@Description("Hides the button shelf from homepage and explorer.") @Description("Hides the button shelf from homepage and explorer.")
@DependsOn( @DependsOn(
[ [
MusicLithoFilterPatch::class, LithoFilterPatch::class,
MusicSettingsPatch::class SettingsPatch::class
] ]
) )
@MusicCompatibility @MusicCompatibility
@ -28,7 +28,7 @@ import app.revanced.util.enum.CategoryType
class HideButtonShelfPatch : BytecodePatch() { class HideButtonShelfPatch : BytecodePatch() {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_hide_button_shelf", "revanced_hide_button_shelf",
"false" "false"

View File

@ -10,8 +10,8 @@ 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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.utils.litho.patch.MusicLithoFilterPatch import app.revanced.patches.music.utils.litho.patch.LithoFilterPatch
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
@Patch @Patch
@ -19,8 +19,8 @@ import app.revanced.util.enum.CategoryType
@Description("Hides the carousel shelf from homepage and explorer.") @Description("Hides the carousel shelf from homepage and explorer.")
@DependsOn( @DependsOn(
[ [
MusicLithoFilterPatch::class, LithoFilterPatch::class,
MusicSettingsPatch::class SettingsPatch::class
] ]
) )
@MusicCompatibility @MusicCompatibility
@ -28,7 +28,7 @@ import app.revanced.util.enum.CategoryType
class HideCarouselShelfPatch : BytecodePatch() { class HideCarouselShelfPatch : BytecodePatch() {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_hide_carousel_shelf", "revanced_hide_carousel_shelf",
"false" "false"

View File

@ -15,14 +15,14 @@ import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.castbutton.fingerprints.HideCastButtonFingerprint import app.revanced.patches.music.layout.castbutton.fingerprints.HideCastButtonFingerprint
import app.revanced.patches.music.layout.castbutton.fingerprints.HideCastButtonParentFingerprint import app.revanced.patches.music.layout.castbutton.fingerprints.HideCastButtonParentFingerprint
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
@Patch @Patch
@Name("hide-music-cast-button") @Name("hide-cast-button")
@Description("Hides the cast button in the video player and header.") @Description("Hides the cast button in the video player and header.")
@DependsOn([MusicSettingsPatch::class]) @DependsOn([SettingsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class HideCastButtonPatch : BytecodePatch( class HideCastButtonPatch : BytecodePatch(
@ -44,7 +44,7 @@ class HideCastButtonPatch : BytecodePatch(
) ?: return HideCastButtonFingerprint.toErrorResult() ) ?: return HideCastButtonFingerprint.toErrorResult()
} ?: return HideCastButtonParentFingerprint.toErrorResult() } ?: return HideCastButtonParentFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_hide_cast_button", "revanced_hide_cast_button",
"true" "true"

View File

@ -15,7 +15,7 @@ import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.categorybar.fingerprints.ChipCloudFingerprint import app.revanced.patches.music.layout.categorybar.fingerprints.ChipCloudFingerprint
import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@ -25,8 +25,8 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Description("Hides the music category bar at the top of the homepage.") @Description("Hides the music category bar at the top of the homepage.")
@DependsOn( @DependsOn(
[ [
SharedResourceIdPatch::class, SettingsPatch::class,
MusicSettingsPatch::class SharedResourceIdPatch::class
] ]
) )
@MusicCompatibility @MusicCompatibility
@ -47,7 +47,7 @@ class CategoryBarPatch : BytecodePatch(
} }
} ?: return ChipCloudFingerprint.toErrorResult() } ?: return ChipCloudFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_hide_category_bar", "revanced_hide_category_bar",
"true" "true"

View File

@ -18,7 +18,7 @@ import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patcher.util.smali.ExternalLabel
import app.revanced.patches.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.colormatchplayer.fingerprints.ColorMatchPlayerFingerprint import app.revanced.patches.music.layout.colormatchplayer.fingerprints.ColorMatchPlayerFingerprint
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.music.utils.fingerprints.ColorMatchPlayerParentFingerprint import app.revanced.patches.music.utils.fingerprints.ColorMatchPlayerParentFingerprint
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
@ -28,7 +28,7 @@ import org.jf.dexlib2.iface.instruction.ReferenceInstruction
@Patch @Patch
@Name("enable-color-match-player") @Name("enable-color-match-player")
@Description("Matches the fullscreen player color with the minimized one.") @Description("Matches the fullscreen player color with the minimized one.")
@DependsOn([MusicSettingsPatch::class]) @DependsOn([SettingsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class ColorMatchPlayerPatch : BytecodePatch( class ColorMatchPlayerPatch : BytecodePatch(
@ -77,7 +77,7 @@ class ColorMatchPlayerPatch : BytecodePatch(
} ?: return ColorMatchPlayerFingerprint.toErrorResult() } ?: return ColorMatchPlayerFingerprint.toErrorResult()
} ?: return ColorMatchPlayerParentFingerprint.toErrorResult() } ?: return ColorMatchPlayerParentFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_enable_color_match_player", "revanced_enable_color_match_player",
"true" "true"

View File

@ -16,7 +16,7 @@ import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import app.revanced.patches.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.compactdialog.fingerprints.DialogSolidFingerprint import app.revanced.patches.music.layout.compactdialog.fingerprints.DialogSolidFingerprint
import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
@ -26,7 +26,7 @@ import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
@Description("Enable compact dialog on phone.") @Description("Enable compact dialog on phone.")
@DependsOn( @DependsOn(
[ [
MusicSettingsPatch::class, SettingsPatch::class,
SharedResourceIdPatch::class SharedResourceIdPatch::class
] ]
) )
@ -52,7 +52,7 @@ class CompactDialogPatch : BytecodePatch(
} }
} ?: return DialogSolidFingerprint.toErrorResult() } ?: return DialogSolidFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_enable_compact_dialog", "revanced_enable_compact_dialog",
"true" "true"

View File

@ -14,7 +14,7 @@ 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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.dismissqueue.fingerprints.DismissQueueFingerprint import app.revanced.patches.music.layout.dismissqueue.fingerprints.DismissQueueFingerprint
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@ -22,7 +22,7 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Patch @Patch
@Name("enable-dismiss-queue") @Name("enable-dismiss-queue")
@Description("Add dismiss queue to flyout menu. (YT Music v6.04.51+)") @Description("Add dismiss queue to flyout menu. (YT Music v6.04.51+)")
@DependsOn([MusicSettingsPatch::class]) @DependsOn([SettingsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class DismissQueuePatch : BytecodePatch( class DismissQueuePatch : BytecodePatch(
@ -44,7 +44,7 @@ class DismissQueuePatch : BytecodePatch(
} }
} ?: return DismissQueueFingerprint.toErrorResult() } ?: return DismissQueueFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_enable_dismiss_queue", "revanced_enable_dismiss_queue",
"true" "true"

View File

@ -18,7 +18,7 @@ import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.floatingbutton.fingerprints.FloatingButtonFingerprint import app.revanced.patches.music.layout.floatingbutton.fingerprints.FloatingButtonFingerprint
import app.revanced.patches.music.layout.floatingbutton.fingerprints.FloatingButtonParentFingerprint import app.revanced.patches.music.layout.floatingbutton.fingerprints.FloatingButtonParentFingerprint
import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
@ -27,7 +27,7 @@ import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
@Description("Hide the New Playlist button in the Library tab.") @Description("Hide the New Playlist button in the Library tab.")
@DependsOn( @DependsOn(
[ [
MusicSettingsPatch::class, SettingsPatch::class,
SharedResourceIdPatch::class SharedResourceIdPatch::class
] ]
) )
@ -58,7 +58,7 @@ class NewPlaylistButtonPatch : BytecodePatch(
} ?: return FloatingButtonFingerprint.toErrorResult() } ?: return FloatingButtonFingerprint.toErrorResult()
} ?: return FloatingButtonParentFingerprint.toErrorResult() } ?: return FloatingButtonParentFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_hide_new_playlist_button", "revanced_hide_new_playlist_button",
"false" "false"

View File

@ -14,7 +14,7 @@ import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.landscapemode.fingerprints.TabletIdentifierFingerprint import app.revanced.patches.music.layout.landscapemode.fingerprints.TabletIdentifierFingerprint
import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
@ -23,7 +23,7 @@ import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
@Description("Enables entry into landscape mode by screen rotation on the phone.") @Description("Enables entry into landscape mode by screen rotation on the phone.")
@DependsOn( @DependsOn(
[ [
MusicSettingsPatch::class, SettingsPatch::class,
SharedResourceIdPatch::class SharedResourceIdPatch::class
] ]
) )
@ -42,7 +42,7 @@ class LandScapeModePatch : BytecodePatch(
) )
} ?: return TabletIdentifierFingerprint.toErrorResult() } ?: return TabletIdentifierFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_enable_landscape_mode", "revanced_enable_landscape_mode",
"true" "true"

View File

@ -13,7 +13,7 @@ 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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.minimizedplayer.fingerprints.MinimizedPlayerFingerprint import app.revanced.patches.music.layout.minimizedplayer.fingerprints.MinimizedPlayerFingerprint
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@ -21,7 +21,7 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Patch @Patch
@Name("enable-force-minimized-player") @Name("enable-force-minimized-player")
@Description("Permanently keep player minimized even if another track is played.") @Description("Permanently keep player minimized even if another track is played.")
@DependsOn([MusicSettingsPatch::class]) @DependsOn([SettingsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class MinimizedPlayerPatch : BytecodePatch( class MinimizedPlayerPatch : BytecodePatch(
@ -44,7 +44,7 @@ class MinimizedPlayerPatch : BytecodePatch(
} }
} ?: return MinimizedPlayerFingerprint.toErrorResult() } ?: return MinimizedPlayerFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_enable_force_minimized_player", "revanced_enable_force_minimized_player",
"true" "true"

View File

@ -17,8 +17,8 @@ import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.navigationlabel.fingerprints.TabLayoutTextFingerprint import app.revanced.patches.music.layout.navigationlabel.fingerprints.TabLayoutTextFingerprint
import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch
import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch.Companion.Text1 import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch.Companion.Text1
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch.Companion.contexts import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch.Companion.contexts
import app.revanced.util.bytecode.getWideLiteralIndex import app.revanced.util.bytecode.getWideLiteralIndex
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
@ -30,8 +30,8 @@ import org.jf.dexlib2.iface.instruction.ReferenceInstruction
@Description("Hide navigation bar labels.") @Description("Hide navigation bar labels.")
@DependsOn( @DependsOn(
[ [
SharedResourceIdPatch::class, SettingsPatch::class,
MusicSettingsPatch::class SharedResourceIdPatch::class
] ]
) )
@MusicCompatibility @MusicCompatibility
@ -68,7 +68,7 @@ class NavigationLabelPatch : BytecodePatch(
} }
} }
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_hide_navigation_label", "revanced_hide_navigation_label",
"false" "false"

View File

@ -14,7 +14,7 @@ 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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.newlayout.fingerprints.NewLayoutFingerprint import app.revanced.patches.music.layout.newlayout.fingerprints.NewLayoutFingerprint
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@ -22,7 +22,7 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Patch @Patch
@Name("enable-new-layout") @Name("enable-new-layout")
@Description("Enable new player layouts. (YT Music v5.47.51+)") @Description("Enable new player layouts. (YT Music v5.47.51+)")
@DependsOn([MusicSettingsPatch::class]) @DependsOn([SettingsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class NewLayoutPatch : BytecodePatch( class NewLayoutPatch : BytecodePatch(
@ -44,7 +44,7 @@ class NewLayoutPatch : BytecodePatch(
} }
} ?: return NewLayoutFingerprint.toErrorResult() } ?: return NewLayoutFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_enable_new_layout", "revanced_enable_new_layout",
"false" "false"

View File

@ -16,7 +16,7 @@ import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.oldstyleminiplayer.fingerprints.NextButtonVisibilityFingerprint import app.revanced.patches.music.layout.oldstyleminiplayer.fingerprints.NextButtonVisibilityFingerprint
import app.revanced.patches.music.layout.oldstyleminiplayer.fingerprints.SwipeToCloseFingerprint import app.revanced.patches.music.layout.oldstyleminiplayer.fingerprints.SwipeToCloseFingerprint
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.music.utils.fingerprints.ColorMatchPlayerParentFingerprint import app.revanced.patches.music.utils.fingerprints.ColorMatchPlayerParentFingerprint
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
@ -25,7 +25,7 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Patch @Patch
@Name("enable-old-style-miniplayer") @Name("enable-old-style-miniplayer")
@Description("Return the miniplayers to old style. (for YT Music v5.55.53+)") @Description("Return the miniplayers to old style. (for YT Music v5.55.53+)")
@DependsOn([MusicSettingsPatch::class]) @DependsOn([SettingsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class OldStyleMiniPlayerPatch : BytecodePatch( class OldStyleMiniPlayerPatch : BytecodePatch(
@ -72,7 +72,7 @@ class OldStyleMiniPlayerPatch : BytecodePatch(
} }
} ?: return SwipeToCloseFingerprint.toErrorResult() } ?: return SwipeToCloseFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_enable_old_style_mini_player", "revanced_enable_old_style_mini_player",
"false" "false"

View File

@ -10,8 +10,8 @@ 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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.utils.litho.patch.MusicLithoFilterPatch import app.revanced.patches.music.utils.litho.patch.LithoFilterPatch
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
@Patch @Patch
@ -19,8 +19,8 @@ import app.revanced.util.enum.CategoryType
@Description("Hides the playlist card from homepage.") @Description("Hides the playlist card from homepage.")
@DependsOn( @DependsOn(
[ [
MusicLithoFilterPatch::class, LithoFilterPatch::class,
MusicSettingsPatch::class SettingsPatch::class
] ]
) )
@MusicCompatibility @MusicCompatibility
@ -28,7 +28,7 @@ import app.revanced.util.enum.CategoryType
class HidePlaylistCardPatch : BytecodePatch() { class HidePlaylistCardPatch : BytecodePatch() {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_hide_playlist_card", "revanced_hide_playlist_card",
"false" "false"

View File

@ -14,7 +14,7 @@ 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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.sleeptimer.fingerprints.SleepTimerFingerprint import app.revanced.patches.music.layout.sleeptimer.fingerprints.SleepTimerFingerprint
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@ -22,7 +22,7 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Patch @Patch
@Name("enable-sleep-timer") @Name("enable-sleep-timer")
@Description("Add sleep timer to flyout menu.") @Description("Add sleep timer to flyout menu.")
@DependsOn([MusicSettingsPatch::class]) @DependsOn([SettingsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class SleepTimerPatch : BytecodePatch( class SleepTimerPatch : BytecodePatch(
@ -44,7 +44,7 @@ class SleepTimerPatch : BytecodePatch(
} }
} ?: return SleepTimerFingerprint.toErrorResult() } ?: return SleepTimerFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_enable_sleep_timer", "revanced_enable_sleep_timer",
"true" "true"

View File

@ -16,7 +16,7 @@ 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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.layout.zenmode.fingerprints.ZenModeFingerprint import app.revanced.patches.music.layout.zenmode.fingerprints.ZenModeFingerprint
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.music.utils.fingerprints.ColorMatchPlayerParentFingerprint import app.revanced.patches.music.utils.fingerprints.ColorMatchPlayerParentFingerprint
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_LAYOUT import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
@ -26,7 +26,7 @@ import org.jf.dexlib2.iface.instruction.ReferenceInstruction
@Patch @Patch
@Name("enable-zen-mode") @Name("enable-zen-mode")
@Description("Adds a grey tint to the video player to reduce eye strain.") @Description("Adds a grey tint to the video player to reduce eye strain.")
@DependsOn([MusicSettingsPatch::class]) @DependsOn([SettingsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class ZenModePatch : BytecodePatch( class ZenModePatch : BytecodePatch(
@ -68,7 +68,7 @@ class ZenModePatch : BytecodePatch(
} ?: return ZenModeFingerprint.toErrorResult() } ?: return ZenModeFingerprint.toErrorResult()
} ?: return ColorMatchPlayerParentFingerprint.toErrorResult() } ?: return ColorMatchPlayerParentFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_enable_zen_mode", "revanced_enable_zen_mode",
"false" "false"

View File

@ -9,7 +9,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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.shared.patch.opus.AbstractOpusCodecsPatch import app.revanced.patches.shared.patch.opus.AbstractOpusCodecsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_MISC_PATH import app.revanced.util.integrations.Constants.MUSIC_MISC_PATH
@ -17,7 +17,7 @@ import app.revanced.util.integrations.Constants.MUSIC_MISC_PATH
@Patch @Patch
@Name("enable-opus-codec") @Name("enable-opus-codec")
@Description("Enable opus codec when playing audio.") @Description("Enable opus codec when playing audio.")
@DependsOn([MusicSettingsPatch::class]) @DependsOn([SettingsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class CodecsUnlockPatch : AbstractOpusCodecsPatch( class CodecsUnlockPatch : AbstractOpusCodecsPatch(
@ -26,7 +26,7 @@ class CodecsUnlockPatch : AbstractOpusCodecsPatch(
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {
super.execute(context) super.execute(context)
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.MISC, CategoryType.MISC,
"revanced_enable_opus_codec", "revanced_enable_opus_codec",
"true" "true"

View File

@ -20,8 +20,8 @@ import app.revanced.patches.music.misc.quality.fingerprints.MusicVideoQualitySet
import app.revanced.patches.music.misc.quality.fingerprints.MusicVideoQualitySettingsParentFingerprint import app.revanced.patches.music.misc.quality.fingerprints.MusicVideoQualitySettingsParentFingerprint
import app.revanced.patches.music.misc.quality.fingerprints.UserQualityChangeFingerprint import app.revanced.patches.music.misc.quality.fingerprints.UserQualityChangeFingerprint
import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.music.utils.videoid.patch.MusicVideoIdPatch import app.revanced.patches.music.utils.videoid.patch.VideoIdPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_MISC_PATH import app.revanced.util.integrations.Constants.MUSIC_MISC_PATH
import org.jf.dexlib2.Opcode import org.jf.dexlib2.Opcode
@ -36,9 +36,9 @@ import org.jf.dexlib2.iface.reference.Reference
@Description("Save the video quality value whenever you change the video quality.") @Description("Save the video quality value whenever you change the video quality.")
@DependsOn( @DependsOn(
[ [
MusicSettingsPatch::class, SettingsPatch::class,
MusicVideoIdPatch::class, SharedResourceIdPatch::class,
SharedResourceIdPatch::class VideoIdPatch::class
] ]
) )
@MusicCompatibility @MusicCompatibility
@ -101,8 +101,8 @@ class VideoQualityPatch : BytecodePatch(
) ?: return MusicVideoQualitySettingsFingerprint.toErrorResult() ) ?: return MusicVideoQualitySettingsFingerprint.toErrorResult()
} ?: return MusicVideoQualitySettingsParentFingerprint.toErrorResult() } ?: return MusicVideoQualitySettingsParentFingerprint.toErrorResult()
MusicVideoIdPatch.injectCall("$INTEGRATIONS_VIDEO_QUALITY_CLASS_DESCRIPTOR->newVideoStarted(Ljava/lang/String;)V") VideoIdPatch.injectCall("$INTEGRATIONS_VIDEO_QUALITY_CLASS_DESCRIPTOR->newVideoStarted(Ljava/lang/String;)V")
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.MISC, CategoryType.MISC,
"revanced_enable_save_video_quality", "revanced_enable_save_video_quality",
"true" "true"
@ -113,7 +113,7 @@ class VideoQualityPatch : BytecodePatch(
private companion object { private companion object {
const val INTEGRATIONS_VIDEO_QUALITY_CLASS_DESCRIPTOR = const val INTEGRATIONS_VIDEO_QUALITY_CLASS_DESCRIPTOR =
"$MUSIC_MISC_PATH/MusicVideoQualityPatch;" "$MUSIC_MISC_PATH/VideoQualityPatch;"
private lateinit var qIndexMethodName: String private lateinit var qIndexMethodName: String
private lateinit var qualityReference: Reference private lateinit var qualityReference: Reference

View File

@ -20,8 +20,8 @@ import app.revanced.patches.music.misc.sharebuttonhook.fingerprints.ConnectionTr
import app.revanced.patches.music.misc.sharebuttonhook.fingerprints.FullStackTraceActivityFingerprint import app.revanced.patches.music.misc.sharebuttonhook.fingerprints.FullStackTraceActivityFingerprint
import app.revanced.patches.music.misc.sharebuttonhook.fingerprints.SharePanelFingerprint import app.revanced.patches.music.misc.sharebuttonhook.fingerprints.SharePanelFingerprint
import app.revanced.patches.music.misc.sharebuttonhook.fingerprints.ShowToastFingerprint import app.revanced.patches.music.misc.sharebuttonhook.fingerprints.ShowToastFingerprint
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.music.utils.videoid.patch.MusicVideoIdPatch import app.revanced.patches.music.utils.videoid.patch.VideoIdPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_INTEGRATIONS_PATH import app.revanced.util.integrations.Constants.MUSIC_INTEGRATIONS_PATH
import app.revanced.util.integrations.Constants.MUSIC_MISC_PATH import app.revanced.util.integrations.Constants.MUSIC_MISC_PATH
@ -31,8 +31,8 @@ import app.revanced.util.integrations.Constants.MUSIC_MISC_PATH
@Description("Replace share button with external download button or sleep timer dialog.") @Description("Replace share button with external download button or sleep timer dialog.")
@DependsOn( @DependsOn(
[ [
MusicSettingsPatch::class, SettingsPatch::class,
MusicVideoIdPatch::class VideoIdPatch::class
] ]
) )
@MusicCompatibility @MusicCompatibility
@ -80,12 +80,12 @@ class ShareButtonHookPatch : BytecodePatch(
""" """
) ?: return FullStackTraceActivityFingerprint.toErrorResult() ) ?: return FullStackTraceActivityFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.MISC, CategoryType.MISC,
"revanced_hook_share_button", "revanced_hook_share_button",
"false" "false"
) )
MusicSettingsPatch.addMusicPreferenceWithIntent( SettingsPatch.addMusicPreferenceWithIntent(
CategoryType.MISC, CategoryType.MISC,
"revanced_default_downloader", "revanced_default_downloader",
"revanced_hook_share_button" "revanced_hook_share_button"

View File

@ -24,7 +24,7 @@ import app.revanced.patches.music.misc.shuffle.fingerprints.MusicPlaybackControl
import app.revanced.patches.music.misc.shuffle.fingerprints.ShuffleClassFingerprint import app.revanced.patches.music.misc.shuffle.fingerprints.ShuffleClassFingerprint
import app.revanced.patches.music.misc.shuffle.fingerprints.ShuffleClassReferenceFingerprint import app.revanced.patches.music.misc.shuffle.fingerprints.ShuffleClassReferenceFingerprint
import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_MISC_PATH import app.revanced.util.integrations.Constants.MUSIC_MISC_PATH
import org.jf.dexlib2.AccessFlags import org.jf.dexlib2.AccessFlags
@ -42,7 +42,7 @@ import org.jf.dexlib2.immutable.ImmutableMethodParameter
@Description("Enable force shuffle even if another track is played.") @Description("Enable force shuffle even if another track is played.")
@DependsOn( @DependsOn(
[ [
MusicSettingsPatch::class, SettingsPatch::class,
SharedResourceIdPatch::class SharedResourceIdPatch::class
] ]
) )
@ -165,7 +165,7 @@ class EnforceShufflePatch : BytecodePatch(
} }
} ?: return MusicPlaybackControlsFingerprint.toErrorResult() } ?: return MusicPlaybackControlsFingerprint.toErrorResult()
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.MISC, CategoryType.MISC,
"revanced_enable_force_shuffle", "revanced_enable_force_shuffle",
"true" "true"

View File

@ -10,13 +10,13 @@ import app.revanced.patcher.patch.ResourcePatch
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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.resources.ResourceHelper.addTranslations import app.revanced.util.resources.ResourceHelper.addTranslations
@Patch @Patch
@Name("translations-music") @Name("translations-music")
@Description("Add Crowdin translations for YouTube Music.") @Description("Add Crowdin translations for YouTube Music.")
@DependsOn([MusicSettingsPatch::class]) @DependsOn([SettingsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class MusicTranslationsPatch : ResourcePatch { class MusicTranslationsPatch : ResourcePatch {

View File

@ -17,7 +17,7 @@ import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.misc.upgradebutton.fingerprints.NotifierShelfFingerprint import app.revanced.patches.music.misc.upgradebutton.fingerprints.NotifierShelfFingerprint
import app.revanced.patches.music.misc.upgradebutton.fingerprints.PivotBarConstructorFingerprint import app.revanced.patches.music.misc.upgradebutton.fingerprints.PivotBarConstructorFingerprint
import app.revanced.patches.music.utils.integrations.patch.MusicIntegrationsPatch import app.revanced.patches.music.utils.integrations.patch.IntegrationsPatch
import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
import org.jf.dexlib2.iface.instruction.ReferenceInstruction import org.jf.dexlib2.iface.instruction.ReferenceInstruction
@ -28,7 +28,7 @@ import org.jf.dexlib2.iface.instruction.TwoRegisterInstruction
@Description("Remove upgrade tab from pivot bar, hide upgrade banner from homepage.") @Description("Remove upgrade tab from pivot bar, hide upgrade banner from homepage.")
@DependsOn( @DependsOn(
[ [
MusicIntegrationsPatch::class, IntegrationsPatch::class,
SharedResourceIdPatch::class SharedResourceIdPatch::class
] ]
) )

View File

@ -9,7 +9,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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.utils.settings.resource.patch.MusicSettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.shared.patch.versionspoof.AbstractVersionSpoofPatch import app.revanced.patches.shared.patch.versionspoof.AbstractVersionSpoofPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_MISC_PATH import app.revanced.util.integrations.Constants.MUSIC_MISC_PATH
@ -17,7 +17,7 @@ import app.revanced.util.integrations.Constants.MUSIC_MISC_PATH
@Patch @Patch
@Name("spoof-app-version") @Name("spoof-app-version")
@Description("Spoof the YouTube Music client version.") @Description("Spoof the YouTube Music client version.")
@DependsOn([MusicSettingsPatch::class]) @DependsOn([SettingsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class SpoofAppVersionPatch : AbstractVersionSpoofPatch( class SpoofAppVersionPatch : AbstractVersionSpoofPatch(
@ -25,7 +25,7 @@ class SpoofAppVersionPatch : AbstractVersionSpoofPatch(
) { ) {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {
MusicSettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.MISC, CategoryType.MISC,
"revanced_spoof_app_version", "revanced_spoof_app_version",
"false" "false"

View File

@ -7,10 +7,10 @@ import app.revanced.patches.music.utils.integrations.fingerprints.InitFingerprin
import app.revanced.patches.shared.patch.integrations.AbstractIntegrationsPatch import app.revanced.patches.shared.patch.integrations.AbstractIntegrationsPatch
import app.revanced.util.integrations.Constants.MUSIC_INTEGRATIONS_PATH import app.revanced.util.integrations.Constants.MUSIC_INTEGRATIONS_PATH
@Name("music-integrations") @Name("integrations")
@MusicCompatibility @MusicCompatibility
@RequiresIntegrations @RequiresIntegrations
class MusicIntegrationsPatch : AbstractIntegrationsPatch( class IntegrationsPatch : AbstractIntegrationsPatch(
"$MUSIC_INTEGRATIONS_PATH/utils/ReVancedUtils;", "$MUSIC_INTEGRATIONS_PATH/utils/ReVancedUtils;",
listOf(InitFingerprint), listOf(InitFingerprint),
) )

View File

@ -7,7 +7,6 @@ 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.patches.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.shared.fingerprints.litho.IdentifierFingerprint
import app.revanced.patches.shared.patch.litho.ComponentParserPatch import app.revanced.patches.shared.patch.litho.ComponentParserPatch
import app.revanced.patches.shared.patch.litho.ComponentParserPatch.Companion.identifierHook import app.revanced.patches.shared.patch.litho.ComponentParserPatch.Companion.identifierHook
import app.revanced.util.integrations.Constants.MUSIC_ADS_PATH import app.revanced.util.integrations.Constants.MUSIC_ADS_PATH
@ -15,11 +14,9 @@ import app.revanced.util.integrations.Constants.MUSIC_ADS_PATH
@DependsOn([ComponentParserPatch::class]) @DependsOn([ComponentParserPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class MusicLithoFilterPatch : BytecodePatch( class LithoFilterPatch : BytecodePatch() {
listOf(IdentifierFingerprint)
) {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {
identifierHook("$MUSIC_ADS_PATH/MusicLithoFilterPatch;->filter") identifierHook("$MUSIC_ADS_PATH/LithoFilterPatch;->filter")
return PatchResultSuccess() return PatchResultSuccess()
} }

View File

@ -17,7 +17,7 @@ import app.revanced.patches.music.utils.microg.bytecode.fingerprints.CastDynamit
import app.revanced.patches.music.utils.microg.bytecode.fingerprints.GooglePlayUtilityFingerprint import app.revanced.patches.music.utils.microg.bytecode.fingerprints.GooglePlayUtilityFingerprint
import app.revanced.patches.music.utils.microg.bytecode.fingerprints.PrimeFingerprint import app.revanced.patches.music.utils.microg.bytecode.fingerprints.PrimeFingerprint
import app.revanced.patches.music.utils.microg.bytecode.fingerprints.ServiceCheckFingerprint import app.revanced.patches.music.utils.microg.bytecode.fingerprints.ServiceCheckFingerprint
import app.revanced.patches.music.utils.microg.resource.patch.MusicMicroGResourcePatch import app.revanced.patches.music.utils.microg.resource.patch.MicroGResourcePatch
import app.revanced.patches.music.utils.microg.shared.Constants.MUSIC_PACKAGE_NAME import app.revanced.patches.music.utils.microg.shared.Constants.MUSIC_PACKAGE_NAME
import app.revanced.patches.music.utils.microg.shared.Constants.YOUTUBE_PACKAGE_NAME import app.revanced.patches.music.utils.microg.shared.Constants.YOUTUBE_PACKAGE_NAME
import app.revanced.patches.shared.patch.packagename.PackageNamePatch import app.revanced.patches.shared.patch.packagename.PackageNamePatch
@ -27,15 +27,15 @@ import app.revanced.util.microg.MicroGBytecodeHelper
@DependsOn( @DependsOn(
[ [
ClientSpoofMusicPatch::class, ClientSpoofMusicPatch::class,
MusicMicroGResourcePatch::class, MicroGResourcePatch::class,
PackageNamePatch::class PackageNamePatch::class
] ]
) )
@Name("music-microg-support") @Name("microg-support")
@Description("Allows ReVanced Music to run without root and under a different package name with MicroG.") @Description("Allows ReVanced Music to run without root and under a different package name with MicroG.")
@MusicCompatibility @MusicCompatibility
@Version("0.0.2") @Version("0.0.2")
class MusicMicroGBytecodePatch : BytecodePatch( class MicroGPatch : BytecodePatch(
listOf( listOf(
ServiceCheckFingerprint, ServiceCheckFingerprint,
GooglePlayUtilityFingerprint, GooglePlayUtilityFingerprint,

View File

@ -17,12 +17,12 @@ import app.revanced.util.microg.MicroGManifestHelper.addSpoofingMetadata
import app.revanced.util.microg.MicroGResourceHelper.patchManifest import app.revanced.util.microg.MicroGResourceHelper.patchManifest
import app.revanced.util.resources.MusicResourceHelper.setMicroG import app.revanced.util.resources.MusicResourceHelper.setMicroG
@Name("music-microg-resource-patch") @Name("microg-resource-patch")
@Description("Resource patch to allow YouTube Music ReVanced to run without root and under a different package name.") @Description("Resource patch to allow YouTube Music ReVanced to run without root and under a different package name.")
@DependsOn([PackageNamePatch::class]) @DependsOn([PackageNamePatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.2") @Version("0.0.2")
class MusicMicroGResourcePatch : ResourcePatch { class MicroGResourcePatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult { override fun execute(context: ResourceContext): PatchResult {
val packageNameMusic = PackageNamePatch.MusicPackageName!! val packageNameMusic = PackageNamePatch.MusicPackageName!!

View File

@ -11,18 +11,18 @@ 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.patches.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.utils.integrations.patch.MusicIntegrationsPatch import app.revanced.patches.music.utils.integrations.patch.IntegrationsPatch
import app.revanced.patches.music.utils.settings.bytecode.fingerprints.PreferenceFingerprint import app.revanced.patches.music.utils.settings.bytecode.fingerprints.PreferenceFingerprint
import app.revanced.patches.music.utils.settings.bytecode.fingerprints.SettingsHeadersFragmentFingerprint import app.revanced.patches.music.utils.settings.bytecode.fingerprints.SettingsHeadersFragmentFingerprint
import app.revanced.util.integrations.Constants.MUSIC_INTEGRATIONS_PATH import app.revanced.util.integrations.Constants.MUSIC_INTEGRATIONS_PATH
import org.jf.dexlib2.iface.instruction.FiveRegisterInstruction import org.jf.dexlib2.iface.instruction.FiveRegisterInstruction
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Name("music-settings-bytecode-patch") @Name("settings-bytecode-patch")
@DependsOn([MusicIntegrationsPatch::class]) @DependsOn([IntegrationsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class MusicSettingsBytecodePatch : BytecodePatch( class SettingsBytecodePatch : BytecodePatch(
listOf( listOf(
PreferenceFingerprint, PreferenceFingerprint,
SettingsHeadersFragmentFingerprint SettingsHeadersFragmentFingerprint

View File

@ -9,7 +9,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.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.utils.settings.bytecode.patch.MusicSettingsBytecodePatch import app.revanced.patches.music.utils.settings.bytecode.patch.SettingsBytecodePatch
import app.revanced.patches.shared.patch.settings.AbstractSettingsResourcePatch import app.revanced.patches.shared.patch.settings.AbstractSettingsResourcePatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.resources.IconHelper import app.revanced.util.resources.IconHelper
@ -26,12 +26,12 @@ import java.io.File
import java.nio.file.Paths import java.nio.file.Paths
@Patch @Patch
@Name("music-settings") @Name("settings")
@Description("Adds settings for ReVanced to YouTube Music.") @Description("Adds settings for ReVanced to YouTube Music.")
@DependsOn([MusicSettingsBytecodePatch::class]) @DependsOn([SettingsBytecodePatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class MusicSettingsPatch : AbstractSettingsResourcePatch( class SettingsPatch : AbstractSettingsResourcePatch(
"music/settings", "music/settings",
"music/settings/host", "music/settings/host",
false false

View File

@ -3,7 +3,7 @@ package app.revanced.patches.music.utils.videoid.fingerprint
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.Opcode import org.jf.dexlib2.Opcode
object MusicVideoIdFingerprint : MethodFingerprint( object VideoIdFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
parameters = listOf("L"), parameters = listOf("L"),
opcodes = listOf( opcodes = listOf(

View File

@ -12,27 +12,27 @@ import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import app.revanced.patches.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.utils.videoid.fingerprint.MusicVideoIdFingerprint import app.revanced.patches.music.utils.videoid.fingerprint.VideoIdFingerprint
import app.revanced.util.integrations.Constants.MUSIC_UTILS_PATH import app.revanced.util.integrations.Constants.MUSIC_UTILS_PATH
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Name("music-video-id-hook") @Name("video-id-hook")
@Description("Hook to detect when the video id changes.") @Description("Hook to detect when the video id changes.")
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class MusicVideoIdPatch : BytecodePatch( class VideoIdPatch : BytecodePatch(
listOf(MusicVideoIdFingerprint) listOf(VideoIdFingerprint)
) { ) {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {
MusicVideoIdFingerprint.result?.let { VideoIdFingerprint.result?.let {
it.mutableMethod.apply { it.mutableMethod.apply {
insertIndex = it.scanResult.patternScanResult!!.endIndex insertIndex = it.scanResult.patternScanResult!!.endIndex
insertMethod = this insertMethod = this
videoIdRegister = getInstruction<OneRegisterInstruction>(insertIndex).registerA videoIdRegister = getInstruction<OneRegisterInstruction>(insertIndex).registerA
} }
offset++ // offset so setVideoId is called before any injected call offset++ // offset so setVideoId is called before any injected call
} ?: return MusicVideoIdFingerprint.toErrorResult() } ?: return VideoIdFingerprint.toErrorResult()
injectCall("$INTEGRATIONS_CLASS_DESCRIPTOR->setVideoId(Ljava/lang/String;)V") injectCall("$INTEGRATIONS_CLASS_DESCRIPTOR->setVideoId(Ljava/lang/String;)V")