From 302d08b5ce46eb5d455af09509154fe31b74f2c3 Mon Sep 17 00:00:00 2001 From: inotia00 <108592928+inotia00@users.noreply.github.com> Date: Wed, 29 Jan 2025 19:06:28 +0900 Subject: [PATCH] feat(YouTube - Hide feed flyout menu): Add `Feed flyout menu filter type` setting --- .../extension/youtube/patches/feed/FeedPatch.java | 11 +++++++++-- .../revanced/extension/youtube/settings/Settings.java | 1 + .../youtube/settings/host/values/strings.xml | 7 +++++++ .../resources/youtube/settings/xml/revanced_prefs.xml | 1 + 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/feed/FeedPatch.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/feed/FeedPatch.java index 9ab4dd81d..70fa37edc 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/feed/FeedPatch.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/feed/FeedPatch.java @@ -186,8 +186,15 @@ public class FeedPatch { String menuTitleString = menuTitleCharSequence.toString(); for (String filter : blockList) { - if (menuTitleString.equals(filter) && !filter.isEmpty()) - return null; + if (!filter.isEmpty()) { + if (Settings.HIDE_FEED_FLYOUT_MENU_FILTER_TYPE.get()) { + if (menuTitleString.contains(filter)) + return null; + } else { + if (menuTitleString.equals(filter)) + return null; + } + } } } diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java index e42cd32c8..020847421 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -114,6 +114,7 @@ public class Settings extends BaseSettings { // PreferenceScreen: Feed - Flyout menu public static final BooleanSetting HIDE_FEED_FLYOUT_MENU = new BooleanSetting("revanced_hide_feed_flyout_menu", FALSE); + public static final BooleanSetting HIDE_FEED_FLYOUT_MENU_FILTER_TYPE = new BooleanSetting("revanced_hide_feed_flyout_menu_filter_type", FALSE, true, parent(HIDE_FEED_FLYOUT_MENU)); public static final StringSetting HIDE_FEED_FLYOUT_MENU_FILTER_STRINGS = new StringSetting("revanced_hide_feed_flyout_menu_filter_strings", "", true, parent(HIDE_FEED_FLYOUT_MENU)); // PreferenceScreen: Feed - Video filter diff --git a/patches/src/main/resources/youtube/settings/host/values/strings.xml b/patches/src/main/resources/youtube/settings/host/values/strings.xml index f8d00df7d..bc8209908 100644 --- a/patches/src/main/resources/youtube/settings/host/values/strings.xml +++ b/patches/src/main/resources/youtube/settings/host/values/strings.xml @@ -287,6 +287,13 @@ Store" Enable feed flyout menu filter Feed flyout menu filter is enabled. Feed flyout menu filter is disabled. + Feed flyout menu filter type + "Filter if contains. + +To hide the Play next in queue menu, you can use Play next or in queue as keywords." + "Filter if matches. + +To hide the Play next in queue menu, you can only use Play next in queue as keywords." Feed flyout menu filter List of flyout menu names to filter, separated by new lines. diff --git a/patches/src/main/resources/youtube/settings/xml/revanced_prefs.xml b/patches/src/main/resources/youtube/settings/xml/revanced_prefs.xml index 4413bfed6..be28ed097 100644 --- a/patches/src/main/resources/youtube/settings/xml/revanced_prefs.xml +++ b/patches/src/main/resources/youtube/settings/xml/revanced_prefs.xml @@ -69,6 +69,7 @@