From ca694c78d2f7d93f8e5c4b1621d27bd06ab50cdd Mon Sep 17 00:00:00 2001 From: ILoveOpenSourceApplications <117499019+ILoveOpenSourceApplications@users.noreply.github.com> Date: Fri, 27 Jun 2025 17:03:37 +0530 Subject: [PATCH] fix(YouTube - Hide layout components): Fix "Hide AI-generated video summary" in video description (#5269) --- .../components/DescriptionComponentsFilter.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java index 8c402b78d..873fc9a96 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java @@ -4,6 +4,7 @@ import androidx.annotation.Nullable; import app.revanced.extension.youtube.StringTrieSearch; import app.revanced.extension.youtube.settings.Settings; +import app.revanced.extension.youtube.shared.PlayerType; @SuppressWarnings("unused") final class DescriptionComponentsFilter extends Filter { @@ -17,6 +18,8 @@ final class DescriptionComponentsFilter extends Filter { private final StringFilterGroup horizontalShelf; private final ByteArrayFilterGroup cellVideoAttribute; + private final StringFilterGroup aiGeneratedVideoSummarySection; + public DescriptionComponentsFilter() { exceptions.addPatterns( "compact_channel", @@ -26,7 +29,7 @@ final class DescriptionComponentsFilter extends Filter { "metadata" ); - final StringFilterGroup aiGeneratedVideoSummarySection = new StringFilterGroup( + aiGeneratedVideoSummarySection = new StringFilterGroup( Settings.HIDE_AI_GENERATED_VIDEO_SUMMARY_SECTION, "cell_expandable_metadata.eml" ); @@ -104,6 +107,12 @@ final class DescriptionComponentsFilter extends Filter { @Override boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray, StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) { + + if (matchedGroup == aiGeneratedVideoSummarySection) { + // Only hide if player is open, in case this component is used somewhere else. + return PlayerType.getCurrent().isMaximizedOrFullscreen(); + } + if (exceptions.matches(path)) return false; if (matchedGroup == macroMarkersCarousel) {