diff --git a/src/main/kotlin/app/revanced/patches/music/layout/customfilter/patch/CustomFilterPatch.kt b/src/main/kotlin/app/revanced/patches/music/layout/customfilter/patch/CustomFilterPatch.kt new file mode 100644 index 000000000..3b3620fa6 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/music/layout/customfilter/patch/CustomFilterPatch.kt @@ -0,0 +1,52 @@ +package app.revanced.patches.music.layout.customfilter.patch + +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.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.music.utils.annotations.MusicCompatibility +import app.revanced.patches.music.utils.litho.patch.LithoFilterPatch +import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch +import app.revanced.util.enum.CategoryType +import app.revanced.util.integrations.Constants.MUSIC_ADS_PATH + +@Patch +@Name("enable-custom-filter") +@Description("Enables custom filter to hide layout components.") +@DependsOn( + [ + LithoFilterPatch::class, + SettingsPatch::class + ] +) +@MusicCompatibility +@Version("0.0.1") +class CustomFilterPatch : ResourcePatch { + override fun execute(context: ResourceContext): PatchResult { + + SettingsPatch.addMusicPreference( + CategoryType.LAYOUT, + "revanced_custom_filter", + "false" + ) + SettingsPatch.addMusicPreferenceWithIntent( + CategoryType.LAYOUT, + "revanced_custom_filter_strings", + "revanced_custom_filter" + ) + + LithoFilterPatch.addFilter(FILTER_CLASS_DESCRIPTOR) + + return PatchResultSuccess() + } + + private companion object { + private const val FILTER_CLASS_DESCRIPTOR = + "$MUSIC_ADS_PATH/CustomFilter;" + } +} diff --git a/src/main/resources/music/settings/host/values/strings.xml b/src/main/resources/music/settings/host/values/strings.xml index 7ae639599..d028a8f45 100644 --- a/src/main/resources/music/settings/host/values/strings.xml +++ b/src/main/resources/music/settings/host/values/strings.xml @@ -3,6 +3,10 @@ Ads Layout Miscellaneous + Filter components by their name separated by a comma + Edit custom filter + Enables custom filters + Enable custom filter Disables forced auto captions. Disable forced auto captions %s is not installed. Please install it.