diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java index 5c76d5606..ec58b2ee2 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java @@ -12,10 +12,12 @@ final class CommentsFilter extends Filter { private final StringFilterGroup commentComposer; private final ByteArrayFilterGroup emojiPickerBufferGroup; + private final StringFilterGroup filterChipBar; + private final ByteArrayFilterGroup aiCommentsSummary; public CommentsFilter() { var chatSummary = new StringFilterGroup( - Settings.HIDE_COMMENTS_CHAT_SUMMARY, + Settings.HIDE_COMMENTS_AI_CHAT_SUMMARY, "live_chat_summary_banner.eml" ); @@ -58,6 +60,16 @@ final class CommentsFilter extends Filter { "id.comment.quick_emoji.button" ); + filterChipBar = new StringFilterGroup( + Settings.HIDE_COMMENTS_AI_SUMMARY, + "filter_chip_bar.eml" + ); + + aiCommentsSummary = new ByteArrayFilterGroup( + null, + "yt_fill_spark_" + ); + addPathCallbacks( chatSummary, commentsByMembers, @@ -65,7 +77,8 @@ final class CommentsFilter extends Filter { createAShort, previewComment, thanksButton, - commentComposer + commentComposer, + filterChipBar ); } @@ -84,6 +97,13 @@ final class CommentsFilter extends Filter { return false; } + if (matchedGroup == filterChipBar) { + if (aiCommentsSummary.check(protobufBufferArray).isFiltered()) { + return super.isFiltered(identifier, path, protobufBufferArray, matchedGroup, contentType, contentIndex); + } + return false; + } + return super.isFiltered(identifier, path, protobufBufferArray, matchedGroup, contentType, contentIndex); } } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index 4724b0f47..d52fe5eae 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -168,7 +168,8 @@ public class Settings extends BaseSettings { public static final StringSetting EXTERNAL_DOWNLOADER_PACKAGE_NAME = new StringSetting("revanced_external_downloader_name", "org.schabi.newpipe" /* NewPipe */, parentsAny(EXTERNAL_DOWNLOADER, EXTERNAL_DOWNLOADER_ACTION_BUTTON)); // Comments - public static final BooleanSetting HIDE_COMMENTS_CHAT_SUMMARY = new BooleanSetting("revanced_hide_comments_chat_summary", FALSE); + public static final BooleanSetting HIDE_COMMENTS_AI_CHAT_SUMMARY = new BooleanSetting("revanced_hide_comments_ai_chat_summary", FALSE); + public static final BooleanSetting HIDE_COMMENTS_AI_SUMMARY = new BooleanSetting("revanced_hide_comments_ai_summary", FALSE); public static final BooleanSetting HIDE_COMMENTS_BY_MEMBERS_HEADER = new BooleanSetting("revanced_hide_comments_by_members_header", FALSE); public static final BooleanSetting HIDE_COMMENTS_CREATE_A_SHORT_BUTTON = new BooleanSetting("revanced_hide_comments_create_a_short_button", TRUE); public static final BooleanSetting HIDE_COMMENTS_TIMESTAMP_AND_EMOJI_BUTTONS = new BooleanSetting("revanced_hide_comments_timestamp_and_emoji_buttons", TRUE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt index 53375549f..910941119 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt @@ -154,7 +154,8 @@ val hideLayoutComponentsPatch = bytecodePatch( PreferenceScreenPreference( "revanced_comments_screen", preferences = setOf( - SwitchPreference("revanced_hide_comments_chat_summary"), + SwitchPreference("revanced_hide_comments_ai_chat_summary"), + SwitchPreference("revanced_hide_comments_ai_summary"), SwitchPreference("revanced_hide_comments_by_members_header"), SwitchPreference("revanced_hide_comments_section"), SwitchPreference("revanced_hide_comments_create_a_short_button"), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 6024b42aa..5ef91e69e 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -321,9 +321,12 @@ You will not be notified of any unexpected events." Comments Hide or show comments section components - Hide \'Chat summary\' - Chat summary is hidden - Chat summary is shown + Hide AI Chat summary + Chat summary is hidden + Chat summary is shown + Hide AI Comments summary + Comments summary is hidden + Comments summary is shown Hide \'Comments by members\' header Comments by members header is hidden Comments by members header is shown