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 5fc04bc74..6264b2ab2 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 @@ -6,8 +6,11 @@ import app.revanced.extension.youtube.shared.PlayerType; @SuppressWarnings("unused") final class CommentsFilter extends Filter { + private static final String COMMENT_COMPOSER_PATH = "comment_composer.eml"; + private final StringFilterGroup chipBar; private final ByteArrayFilterGroup aiCommentsSummary; + private final StringFilterGroup emojiAndTimestampButtons; public CommentsFilter() { var chatSummary = new StringFilterGroup( @@ -52,6 +55,11 @@ final class CommentsFilter extends Filter { "composer_short_creation_button.eml" ); + emojiAndTimestampButtons = new StringFilterGroup( + Settings.HIDE_COMMENTS_EMOJI_AND_TIMESTAMP_BUTTONS, + "|CellType|ContainerType|ContainerType|ContainerType|ContainerType|ContainerType|" + ); + var previewComment = new StringFilterGroup( Settings.HIDE_COMMENTS_PREVIEW_COMMENT, "|carousel_item", @@ -64,11 +72,6 @@ final class CommentsFilter extends Filter { "super_thanks_button.eml" ); - StringFilterGroup timestampButton = new StringFilterGroup( - Settings.HIDE_COMMENTS_TIMESTAMP_BUTTON, - "composer_timestamp_button.eml" - ); - addPathCallbacks( channelGuidelines, chatSummary, @@ -77,9 +80,9 @@ final class CommentsFilter extends Filter { comments, communityGuidelines, createAShort, + emojiAndTimestampButtons, previewComment, - thanksButton, - timestampButton + thanksButton ); } @@ -93,6 +96,10 @@ final class CommentsFilter extends Filter { && aiCommentsSummary.check(buffer).isFiltered(); } + if (matchedGroup == emojiAndTimestampButtons) { + return path.startsWith(COMMENT_COMPOSER_PATH); + } + return true; } } 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 86dd9d961..565814a51 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 @@ -199,9 +199,9 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_COMMENTS_COMMUNITY_GUIDELINES = new BooleanSetting("revanced_hide_comments_community_guidelines", TRUE); 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_PREVIEW_COMMENT = new BooleanSetting("revanced_hide_comments_preview_comment", FALSE); + public static final BooleanSetting HIDE_COMMENTS_EMOJI_AND_TIMESTAMP_BUTTONS = new BooleanSetting("revanced_hide_comments_emoji_and_timestamp_buttons", FALSE); public static final BooleanSetting HIDE_COMMENTS_SECTION = new BooleanSetting("revanced_hide_comments_section", FALSE); public static final BooleanSetting HIDE_COMMENTS_THANKS_BUTTON = new BooleanSetting("revanced_hide_comments_thanks_button", TRUE); - public static final BooleanSetting HIDE_COMMENTS_TIMESTAMP_BUTTON = new BooleanSetting("revanced_hide_comments_timestamp_button", FALSE); // Description public static final BooleanSetting HIDE_AI_GENERATED_VIDEO_SUMMARY_SECTION = new BooleanSetting("revanced_hide_ai_generated_video_summary_section", FALSE); 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 30ae4f875..c671da3ff 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 @@ -161,9 +161,9 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_comments_section"), SwitchPreference("revanced_hide_comments_community_guidelines"), SwitchPreference("revanced_hide_comments_create_a_short_button"), + SwitchPreference("revanced_hide_comments_emoji_and_timestamp_buttons"), SwitchPreference("revanced_hide_comments_preview_comment"), SwitchPreference("revanced_hide_comments_thanks_button"), - SwitchPreference("revanced_hide_comments_timestamp_button"), ), sorting = PreferenceScreenPreference.Sorting.UNSORTED, ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 8e47efe4e..d51200006 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -441,15 +441,15 @@ If a Doodle is currently showing in your region and this hide setting is on, the Hide \'Create a Short\' button Create a Short button is hidden Create a Short button is shown + Hide Emoji and Timestamp buttons + Emoji and Timestamp buttons are hidden + Emoji and Timestamp buttons are shown Hide preview comment Preview comment is hidden Preview comment is shown Hide Thanks button Thanks button is hidden Thanks button is shown - Hide Timestamp button - Timestamp button is hidden - Timestamp button is shown Custom filter Hide components using custom filters