From b9a5b09b706c8b972ff774692ad4e20827e53e7c Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 03:32:25 +0530 Subject: [PATCH 01/35] feat(YouTube - Hide layout components): Add "Hide visual spacers" --- .../patches/components/LayoutComponentsFilter.java | 8 +++++++- .../app/revanced/extension/youtube/settings/Settings.java | 1 + .../layout/hide/general/HideLayoutComponentsPatch.kt | 3 ++- .../src/main/resources/addresources/values/strings.xml | 3 +++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index 00429359f2..c67a6a2368 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -68,8 +68,14 @@ public LayoutComponentsFilter() { "chips_shelf" ); + final var visualSpacers = new StringFilterGroup( + Settings.HIDE_VISUAL_SPACER, + "cell_divider" + ); + addIdentifierCallbacks( - chipsShelf + chipsShelf, + visualSpacers ); // Paths. 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 301b40c7a0..2dd3131513 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 @@ -115,6 +115,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_UPLOAD_TIME = new BooleanSetting("revanced_hide_upload_time", FALSE, "revanced_hide_upload_time_user_dialog_message"); public static final BooleanSetting HIDE_VIDEO_RECOMMENDATION_LABELS = new BooleanSetting("revanced_hide_video_recommendation_labels", TRUE); public static final BooleanSetting HIDE_VIEW_COUNT = new BooleanSetting("revanced_hide_view_count", FALSE, "revanced_hide_view_count_user_dialog_message"); + public static final BooleanSetting HIDE_VISUAL_SPACERS = new BooleanSetting("revanced_hide_visual_spacers", TRUE); // Alternative thumbnails public static final EnumSetting ALT_THUMBNAIL_HOME = new EnumSetting<>("revanced_alt_thumbnail_home", ThumbnailOption.ORIGINAL); 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 36959f2299..f5a6ee9c4c 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 @@ -242,9 +242,10 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_show_more_button"), SwitchPreference("revanced_hide_surveys"), SwitchPreference("revanced_hide_ticket_shelf"), + SwitchPreference("revanced_hide_upload_time"), SwitchPreference("revanced_hide_video_recommendation_labels"), SwitchPreference("revanced_hide_view_count"), - SwitchPreference("revanced_hide_upload_time"), + SwitchPreference("revanced_hide_visual_spacers"), SwitchPreference("revanced_hide_doodles"), ) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 38c3bfb9db..1bf5558b9c 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -286,6 +286,9 @@ However, enabling this will also log some user data such as your IP address."Hide video recommendation labels \'People also watched\' and \'You might also like\' labels in search results are hidden \'People also watched\' and \'You might also like\' labels in search results are shown + Hide visual spacers + Visual spacers are hidden + Visual spacers are shown Hide YouTube Doodles YouTube Doodles animation on the logo is hidden From 2bc493c58da80e4a36ff4df406d2685d738dd328 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 03:58:31 +0530 Subject: [PATCH 02/35] feat(YouTube - Hide layout components): Added "Hide Featured links" and "Hide Featured videos" options and linked them to "Hide Info cards" --- .../extension/shared/settings/Setting.java | 17 +++++++++++++++++ .../components/DescriptionComponentsFilter.java | 17 +++++++++++------ .../components/LayoutComponentsFilter.java | 2 +- .../extension/youtube/settings/Settings.java | 6 ++++-- .../hide/general/HideLayoutComponentsPatch.kt | 5 +++-- .../resources/addresources/values/strings.xml | 15 +++++++++------ 6 files changed, 45 insertions(+), 17 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java index 38b2cee47f..32d24e3e1f 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java @@ -58,6 +58,23 @@ public List> getParentSettings() { }; } + /** + * Availability based on a single parent setting being disabled. + */ + public static Availability parentNot(BooleanSetting parent) { + return new Availability() { + @Override + public boolean isAvailable() { + return !parent.get(); + } + + @Override + public List> getParentSettings() { + return Collections.singletonList(parent); + } + }; + } + /** * Availability based on all parents being enabled. */ 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 314b79841c..e7b1af55b6 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 @@ -44,10 +44,14 @@ public DescriptionComponentsFilter() { "video_attributes_section" ); - final StringFilterGroup featuredSection = new StringFilterGroup( - Settings.HIDE_FEATURED_SECTION, - // "media_lockup", "structured_description_video_lockup" - "compact_infocard" + final StringFilterGroup featuredLinksSection = new StringFilterGroup( + Settings.HIDE_FEATURED_LINKS_SECTION, + "media_lockup" + ); + + final StringFilterGroup featuredVideosSection = new StringFilterGroup( + Settings.HIDE_FEATURED_VIDEOS_SECTION, + "structured_description_video_lockup" ); final StringFilterGroup podcastSection = new StringFilterGroup( @@ -76,7 +80,7 @@ public DescriptionComponentsFilter() { ); subscribeButton = new StringFilterGroup( - Settings.HIDE_DESCRIPTION_SUBSCRIBE_BUTTON, + Settings.HIDE_SUBSCRIBE_BUTTON, "subscribe_button" ); @@ -110,7 +114,8 @@ public DescriptionComponentsFilter() { aiGeneratedVideoSummarySection, askSection, attributesSection, - featuredSection, + featuredLinksSection, + featuredVideosSection, horizontalShelf, howThisWasMadeSection, hypePoints, diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index c67a6a2368..8e78c4744f 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -69,7 +69,7 @@ public LayoutComponentsFilter() { ); final var visualSpacers = new StringFilterGroup( - Settings.HIDE_VISUAL_SPACER, + Settings.HIDE_VISUAL_SPACERS, "cell_divider" ); 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 2dd3131513..6316cae2eb 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 @@ -3,6 +3,7 @@ import static java.lang.Boolean.FALSE; import static java.lang.Boolean.TRUE; import static app.revanced.extension.shared.settings.Setting.parent; +import static app.revanced.extension.shared.settings.Setting.parentNot; import static app.revanced.extension.shared.settings.Setting.parentsAll; import static app.revanced.extension.shared.settings.Setting.parentsAny; import static app.revanced.extension.youtube.patches.ChangeFormFactorPatch.FormFactor; @@ -211,13 +212,14 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_ASK_SECTION = new BooleanSetting("revanced_hide_ask_section", FALSE); public static final BooleanSetting HIDE_ATTRIBUTES_SECTION = new BooleanSetting("revanced_hide_attributes_section", FALSE); public static final BooleanSetting HIDE_CHAPTERS_SECTION = new BooleanSetting("revanced_hide_chapters_section", TRUE); - public static final BooleanSetting HIDE_FEATURED_SECTION = new BooleanSetting("revanced_hide_featured_section", TRUE); public static final BooleanSetting HIDE_HOW_THIS_WAS_MADE_SECTION = new BooleanSetting("revanced_hide_how_this_was_made_section", FALSE); public static final BooleanSetting HIDE_HYPE_POINTS = new BooleanSetting("revanced_hide_hype_points", FALSE); public static final BooleanSetting HIDE_INFO_CARDS_SECTION = new BooleanSetting("revanced_hide_info_cards_section", TRUE); + public static final BooleanSetting HIDE_FEATURED_LINKS_SECTION = new BooleanSetting("revanced_hide_featured_links_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); + public static final BooleanSetting HIDE_FEATURED_VIDEOS_SECTION = new BooleanSetting("revanced_hide_featured_videos_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); + public static final BooleanSetting HIDE_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_subscribe_button", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); public static final BooleanSetting HIDE_KEY_CONCEPTS_SECTION = new BooleanSetting("revanced_hide_key_concepts_section", FALSE); public static final BooleanSetting HIDE_PODCAST_SECTION = new BooleanSetting("revanced_hide_podcast_section", TRUE); - public static final BooleanSetting HIDE_DESCRIPTION_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_description_subscribe_button", TRUE); public static final BooleanSetting HIDE_TRANSCRIPT_SECTION = new BooleanSetting("revanced_hide_transcript_section", TRUE); // Action buttons 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 f5a6ee9c4c..3a2e319d52 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 @@ -145,13 +145,14 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_ask_section"), SwitchPreference("revanced_hide_attributes_section"), SwitchPreference("revanced_hide_chapters_section"), - SwitchPreference("revanced_hide_featured_section"), + SwitchPreference("revanced_hide_featured_links_section"), + SwitchPreference("revanced_hide_featured_videos_section"), SwitchPreference("revanced_hide_info_cards_section"), SwitchPreference("revanced_hide_how_this_was_made_section"), SwitchPreference("revanced_hide_hype_points"), SwitchPreference("revanced_hide_key_concepts_section"), SwitchPreference("revanced_hide_podcast_section"), - SwitchPreference("revanced_hide_description_subscribe_button"), + SwitchPreference("revanced_hide_subscribe_button"), SwitchPreference("revanced_hide_transcript_section"), ), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 1bf5558b9c..8983eecdd7 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -349,18 +349,21 @@ If a Doodle is currently showing in your region and this hide setting is on, the Hide \'Explore the podcast\' Explore the podcast section is hidden Explore the podcast section is shown - Hide Featured content - Featured content section is hidden - Featured content section is shown + Hide Featured links + Featured links section is hidden + Featured links section is shown + Hide Featured videos + Featured videos section is hidden + Featured videos section is shown Hide Info cards Info cards section is hidden Info cards section is shown Hide \'Key concepts\' Key concepts section is hidden Key concepts section is shown - Hide Subscribe button - Subscribe button is hidden - Subscribe button is shown + Hide Subscribe button + Subscribe button is hidden + Subscribe button is shown Hide Transcript Transcript section is hidden Transcript section is shown From 50bfedf9f4226a512d871b150c46a48915fbcbf1 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:05:05 +0530 Subject: [PATCH 03/35] Revert "feat(YouTube - Hide layout components): Added "Hide Featured links" and "Hide Featured videos" options and linked them to "Hide Info cards"" This reverts commit 2bc493c58da80e4a36ff4df406d2685d738dd328. --- .../extension/shared/settings/Setting.java | 17 ----------------- .../components/DescriptionComponentsFilter.java | 17 ++++++----------- .../components/LayoutComponentsFilter.java | 2 +- .../extension/youtube/settings/Settings.java | 6 ++---- .../hide/general/HideLayoutComponentsPatch.kt | 5 ++--- .../resources/addresources/values/strings.xml | 15 ++++++--------- 6 files changed, 17 insertions(+), 45 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java index 32d24e3e1f..38b2cee47f 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java @@ -58,23 +58,6 @@ public List> getParentSettings() { }; } - /** - * Availability based on a single parent setting being disabled. - */ - public static Availability parentNot(BooleanSetting parent) { - return new Availability() { - @Override - public boolean isAvailable() { - return !parent.get(); - } - - @Override - public List> getParentSettings() { - return Collections.singletonList(parent); - } - }; - } - /** * Availability based on all parents being enabled. */ 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 e7b1af55b6..314b79841c 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 @@ -44,14 +44,10 @@ public DescriptionComponentsFilter() { "video_attributes_section" ); - final StringFilterGroup featuredLinksSection = new StringFilterGroup( - Settings.HIDE_FEATURED_LINKS_SECTION, - "media_lockup" - ); - - final StringFilterGroup featuredVideosSection = new StringFilterGroup( - Settings.HIDE_FEATURED_VIDEOS_SECTION, - "structured_description_video_lockup" + final StringFilterGroup featuredSection = new StringFilterGroup( + Settings.HIDE_FEATURED_SECTION, + // "media_lockup", "structured_description_video_lockup" + "compact_infocard" ); final StringFilterGroup podcastSection = new StringFilterGroup( @@ -80,7 +76,7 @@ public DescriptionComponentsFilter() { ); subscribeButton = new StringFilterGroup( - Settings.HIDE_SUBSCRIBE_BUTTON, + Settings.HIDE_DESCRIPTION_SUBSCRIBE_BUTTON, "subscribe_button" ); @@ -114,8 +110,7 @@ public DescriptionComponentsFilter() { aiGeneratedVideoSummarySection, askSection, attributesSection, - featuredLinksSection, - featuredVideosSection, + featuredSection, horizontalShelf, howThisWasMadeSection, hypePoints, diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index 8e78c4744f..c67a6a2368 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -69,7 +69,7 @@ public LayoutComponentsFilter() { ); final var visualSpacers = new StringFilterGroup( - Settings.HIDE_VISUAL_SPACERS, + Settings.HIDE_VISUAL_SPACER, "cell_divider" ); 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 6316cae2eb..2dd3131513 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 @@ -3,7 +3,6 @@ import static java.lang.Boolean.FALSE; import static java.lang.Boolean.TRUE; import static app.revanced.extension.shared.settings.Setting.parent; -import static app.revanced.extension.shared.settings.Setting.parentNot; import static app.revanced.extension.shared.settings.Setting.parentsAll; import static app.revanced.extension.shared.settings.Setting.parentsAny; import static app.revanced.extension.youtube.patches.ChangeFormFactorPatch.FormFactor; @@ -212,14 +211,13 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_ASK_SECTION = new BooleanSetting("revanced_hide_ask_section", FALSE); public static final BooleanSetting HIDE_ATTRIBUTES_SECTION = new BooleanSetting("revanced_hide_attributes_section", FALSE); public static final BooleanSetting HIDE_CHAPTERS_SECTION = new BooleanSetting("revanced_hide_chapters_section", TRUE); + public static final BooleanSetting HIDE_FEATURED_SECTION = new BooleanSetting("revanced_hide_featured_section", TRUE); public static final BooleanSetting HIDE_HOW_THIS_WAS_MADE_SECTION = new BooleanSetting("revanced_hide_how_this_was_made_section", FALSE); public static final BooleanSetting HIDE_HYPE_POINTS = new BooleanSetting("revanced_hide_hype_points", FALSE); public static final BooleanSetting HIDE_INFO_CARDS_SECTION = new BooleanSetting("revanced_hide_info_cards_section", TRUE); - public static final BooleanSetting HIDE_FEATURED_LINKS_SECTION = new BooleanSetting("revanced_hide_featured_links_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); - public static final BooleanSetting HIDE_FEATURED_VIDEOS_SECTION = new BooleanSetting("revanced_hide_featured_videos_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); - public static final BooleanSetting HIDE_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_subscribe_button", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); public static final BooleanSetting HIDE_KEY_CONCEPTS_SECTION = new BooleanSetting("revanced_hide_key_concepts_section", FALSE); public static final BooleanSetting HIDE_PODCAST_SECTION = new BooleanSetting("revanced_hide_podcast_section", TRUE); + public static final BooleanSetting HIDE_DESCRIPTION_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_description_subscribe_button", TRUE); public static final BooleanSetting HIDE_TRANSCRIPT_SECTION = new BooleanSetting("revanced_hide_transcript_section", TRUE); // Action buttons 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 3a2e319d52..f5a6ee9c4c 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 @@ -145,14 +145,13 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_ask_section"), SwitchPreference("revanced_hide_attributes_section"), SwitchPreference("revanced_hide_chapters_section"), - SwitchPreference("revanced_hide_featured_links_section"), - SwitchPreference("revanced_hide_featured_videos_section"), + SwitchPreference("revanced_hide_featured_section"), SwitchPreference("revanced_hide_info_cards_section"), SwitchPreference("revanced_hide_how_this_was_made_section"), SwitchPreference("revanced_hide_hype_points"), SwitchPreference("revanced_hide_key_concepts_section"), SwitchPreference("revanced_hide_podcast_section"), - SwitchPreference("revanced_hide_subscribe_button"), + SwitchPreference("revanced_hide_description_subscribe_button"), SwitchPreference("revanced_hide_transcript_section"), ), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 8983eecdd7..1bf5558b9c 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -349,21 +349,18 @@ If a Doodle is currently showing in your region and this hide setting is on, the Hide \'Explore the podcast\' Explore the podcast section is hidden Explore the podcast section is shown - Hide Featured links - Featured links section is hidden - Featured links section is shown - Hide Featured videos - Featured videos section is hidden - Featured videos section is shown + Hide Featured content + Featured content section is hidden + Featured content section is shown Hide Info cards Info cards section is hidden Info cards section is shown Hide \'Key concepts\' Key concepts section is hidden Key concepts section is shown - Hide Subscribe button - Subscribe button is hidden - Subscribe button is shown + Hide Subscribe button + Subscribe button is hidden + Subscribe button is shown Hide Transcript Transcript section is hidden Transcript section is shown From 295b7fa4c535f776e1f38c49236f6b8378c96ec0 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:05:05 +0530 Subject: [PATCH 04/35] Revert "feat(YouTube - Hide layout components): Add "Hide visual spacers"" This reverts commit b9a5b09b706c8b972ff774692ad4e20827e53e7c. --- .../patches/components/LayoutComponentsFilter.java | 8 +------- .../app/revanced/extension/youtube/settings/Settings.java | 1 - .../layout/hide/general/HideLayoutComponentsPatch.kt | 3 +-- .../src/main/resources/addresources/values/strings.xml | 3 --- 4 files changed, 2 insertions(+), 13 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index c67a6a2368..00429359f2 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -68,14 +68,8 @@ public LayoutComponentsFilter() { "chips_shelf" ); - final var visualSpacers = new StringFilterGroup( - Settings.HIDE_VISUAL_SPACER, - "cell_divider" - ); - addIdentifierCallbacks( - chipsShelf, - visualSpacers + chipsShelf ); // Paths. 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 2dd3131513..301b40c7a0 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 @@ -115,7 +115,6 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_UPLOAD_TIME = new BooleanSetting("revanced_hide_upload_time", FALSE, "revanced_hide_upload_time_user_dialog_message"); public static final BooleanSetting HIDE_VIDEO_RECOMMENDATION_LABELS = new BooleanSetting("revanced_hide_video_recommendation_labels", TRUE); public static final BooleanSetting HIDE_VIEW_COUNT = new BooleanSetting("revanced_hide_view_count", FALSE, "revanced_hide_view_count_user_dialog_message"); - public static final BooleanSetting HIDE_VISUAL_SPACERS = new BooleanSetting("revanced_hide_visual_spacers", TRUE); // Alternative thumbnails public static final EnumSetting ALT_THUMBNAIL_HOME = new EnumSetting<>("revanced_alt_thumbnail_home", ThumbnailOption.ORIGINAL); 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 f5a6ee9c4c..36959f2299 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 @@ -242,10 +242,9 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_show_more_button"), SwitchPreference("revanced_hide_surveys"), SwitchPreference("revanced_hide_ticket_shelf"), - SwitchPreference("revanced_hide_upload_time"), SwitchPreference("revanced_hide_video_recommendation_labels"), SwitchPreference("revanced_hide_view_count"), - SwitchPreference("revanced_hide_visual_spacers"), + SwitchPreference("revanced_hide_upload_time"), SwitchPreference("revanced_hide_doodles"), ) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 1bf5558b9c..38c3bfb9db 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -286,9 +286,6 @@ However, enabling this will also log some user data such as your IP address."Hide video recommendation labels \'People also watched\' and \'You might also like\' labels in search results are hidden \'People also watched\' and \'You might also like\' labels in search results are shown - Hide visual spacers - Visual spacers are hidden - Visual spacers are shown Hide YouTube Doodles YouTube Doodles animation on the logo is hidden From a0fc2447c0f3298d754adf8f3e59fb0e5bdce3f2 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 03:32:25 +0530 Subject: [PATCH 05/35] feat(YouTube - Hide layout components): Add "Hide visual spacers" --- .../patches/components/LayoutComponentsFilter.java | 8 +++++++- .../app/revanced/extension/youtube/settings/Settings.java | 1 + .../layout/hide/general/HideLayoutComponentsPatch.kt | 3 ++- .../src/main/resources/addresources/values/strings.xml | 3 +++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index 00429359f2..c67a6a2368 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -68,8 +68,14 @@ public LayoutComponentsFilter() { "chips_shelf" ); + final var visualSpacers = new StringFilterGroup( + Settings.HIDE_VISUAL_SPACER, + "cell_divider" + ); + addIdentifierCallbacks( - chipsShelf + chipsShelf, + visualSpacers ); // Paths. 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 301b40c7a0..2dd3131513 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 @@ -115,6 +115,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_UPLOAD_TIME = new BooleanSetting("revanced_hide_upload_time", FALSE, "revanced_hide_upload_time_user_dialog_message"); public static final BooleanSetting HIDE_VIDEO_RECOMMENDATION_LABELS = new BooleanSetting("revanced_hide_video_recommendation_labels", TRUE); public static final BooleanSetting HIDE_VIEW_COUNT = new BooleanSetting("revanced_hide_view_count", FALSE, "revanced_hide_view_count_user_dialog_message"); + public static final BooleanSetting HIDE_VISUAL_SPACERS = new BooleanSetting("revanced_hide_visual_spacers", TRUE); // Alternative thumbnails public static final EnumSetting ALT_THUMBNAIL_HOME = new EnumSetting<>("revanced_alt_thumbnail_home", ThumbnailOption.ORIGINAL); 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 36959f2299..f5a6ee9c4c 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 @@ -242,9 +242,10 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_show_more_button"), SwitchPreference("revanced_hide_surveys"), SwitchPreference("revanced_hide_ticket_shelf"), + SwitchPreference("revanced_hide_upload_time"), SwitchPreference("revanced_hide_video_recommendation_labels"), SwitchPreference("revanced_hide_view_count"), - SwitchPreference("revanced_hide_upload_time"), + SwitchPreference("revanced_hide_visual_spacers"), SwitchPreference("revanced_hide_doodles"), ) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 38c3bfb9db..1bf5558b9c 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -286,6 +286,9 @@ However, enabling this will also log some user data such as your IP address."Hide video recommendation labels \'People also watched\' and \'You might also like\' labels in search results are hidden \'People also watched\' and \'You might also like\' labels in search results are shown + Hide visual spacers + Visual spacers are hidden + Visual spacers are shown Hide YouTube Doodles YouTube Doodles animation on the logo is hidden From ef4563fbe546cb2f11281aabe3ff0999ec6e0a4e Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 02:19:06 +0530 Subject: [PATCH 06/35] feat(YouTube - Hide Shorts components): Add "Hide disclosure tag" --- .../youtube/patches/components/ShortsFilter.java | 11 ++++++++--- .../revanced/extension/youtube/settings/Settings.java | 1 + .../layout/hide/shorts/HideShortsComponentsPatch.kt | 1 + .../main/resources/addresources/values/strings.xml | 3 +++ 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index f41f1e3a31..8c552d4056 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -117,6 +117,11 @@ public ShortsFilter() { "shorts_video_title_item" ); + StringFilterGroup shortsDisclosure = new StringFilterGroup( + Settings.HIDE_SHORTS_DISCLOSURE, + "shorts_disclosures" + ); + StringFilterGroup reelSoundMetadata = new StringFilterGroup( Settings.HIDE_SHORTS_SOUND_METADATA_LABEL, "reel_sound_metadata" @@ -220,9 +225,9 @@ public ShortsFilter() { addPathCallbacks( shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, - shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, - fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, - stickers, likeFountain, likeButton, dislikeButton + shortsActionBar, shortsDisclosure, suggestedAction, pausedOverlayButtons, channelBar, + previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, + infoPanel, stickers, likeFountain, likeButton, dislikeButton ); // 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 2dd3131513..5b2515fc96 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 @@ -295,6 +295,7 @@ public class Settings extends BaseSettings { public static final EnumSetting SHORTS_PLAYER_TYPE = new EnumSetting<>("revanced_shorts_player_type", ShortsPlayerType.SHORTS_PLAYER); public static final BooleanSetting HIDE_SHORTS_CHANNEL_BAR = new BooleanSetting("revanced_hide_shorts_channel_bar", FALSE); public static final BooleanSetting HIDE_SHORTS_COMMENTS_BUTTON = new BooleanSetting("revanced_hide_shorts_comments_button", FALSE); + public static final BooleanSetting HIDE_SHORTS_DISCLOSURE = new BooleanSetting("revanced_hide_shorts_disclosure", FALSE); public static final BooleanSetting HIDE_SHORTS_DISLIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_dislike_button", FALSE); public static final BooleanSetting HIDE_SHORTS_FULL_VIDEO_LINK_LABEL = new BooleanSetting("revanced_hide_shorts_full_video_link_label", FALSE); public static final BooleanSetting HIDE_SHORTS_EFFECT_BUTTON = new BooleanSetting("revanced_hide_shorts_effect_button", TRUE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index de715d06c2..046030cd0a 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -114,6 +114,7 @@ private val hideShortsComponentsResourcePatch = resourcePatch { SwitchPreference("revanced_hide_shorts_info_panel"), SwitchPreference("revanced_hide_shorts_full_video_link_label"), SwitchPreference("revanced_hide_shorts_video_title"), + SwitchPreference("revanced_hide_shorts_disclosure"), SwitchPreference("revanced_hide_shorts_sound_metadata_label"), SwitchPreference("revanced_hide_shorts_navigation_bar"), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 1bf5558b9c..a10a4f60c1 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -977,6 +977,9 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK Hide video title Video title is hidden Video title is shown + Hide disclosure tag + Disclosure tag is hidden + Disclosure tag is shown Hide sound metadata label Sound metadata label is hidden Sound metadata label is shown From f107279d0c6a3c30f817860752c205b3079d64a2 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 02:33:39 +0530 Subject: [PATCH 07/35] Revert "feat(YouTube - Hide Shorts components): Add "Hide disclosure tag"" This reverts commit b059119cc449d616fb50d50d55ae652f49aa0ed0. --- .../youtube/patches/components/ShortsFilter.java | 11 +++-------- .../revanced/extension/youtube/settings/Settings.java | 1 - .../layout/hide/shorts/HideShortsComponentsPatch.kt | 1 - .../main/resources/addresources/values/strings.xml | 3 --- 4 files changed, 3 insertions(+), 13 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 8c552d4056..f41f1e3a31 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -117,11 +117,6 @@ public ShortsFilter() { "shorts_video_title_item" ); - StringFilterGroup shortsDisclosure = new StringFilterGroup( - Settings.HIDE_SHORTS_DISCLOSURE, - "shorts_disclosures" - ); - StringFilterGroup reelSoundMetadata = new StringFilterGroup( Settings.HIDE_SHORTS_SOUND_METADATA_LABEL, "reel_sound_metadata" @@ -225,9 +220,9 @@ public ShortsFilter() { addPathCallbacks( shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, - shortsActionBar, shortsDisclosure, suggestedAction, pausedOverlayButtons, channelBar, - previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, - infoPanel, stickers, likeFountain, likeButton, dislikeButton + shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, + fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, + stickers, likeFountain, likeButton, dislikeButton ); // 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 5b2515fc96..2dd3131513 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 @@ -295,7 +295,6 @@ public class Settings extends BaseSettings { public static final EnumSetting SHORTS_PLAYER_TYPE = new EnumSetting<>("revanced_shorts_player_type", ShortsPlayerType.SHORTS_PLAYER); public static final BooleanSetting HIDE_SHORTS_CHANNEL_BAR = new BooleanSetting("revanced_hide_shorts_channel_bar", FALSE); public static final BooleanSetting HIDE_SHORTS_COMMENTS_BUTTON = new BooleanSetting("revanced_hide_shorts_comments_button", FALSE); - public static final BooleanSetting HIDE_SHORTS_DISCLOSURE = new BooleanSetting("revanced_hide_shorts_disclosure", FALSE); public static final BooleanSetting HIDE_SHORTS_DISLIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_dislike_button", FALSE); public static final BooleanSetting HIDE_SHORTS_FULL_VIDEO_LINK_LABEL = new BooleanSetting("revanced_hide_shorts_full_video_link_label", FALSE); public static final BooleanSetting HIDE_SHORTS_EFFECT_BUTTON = new BooleanSetting("revanced_hide_shorts_effect_button", TRUE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index 046030cd0a..de715d06c2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -114,7 +114,6 @@ private val hideShortsComponentsResourcePatch = resourcePatch { SwitchPreference("revanced_hide_shorts_info_panel"), SwitchPreference("revanced_hide_shorts_full_video_link_label"), SwitchPreference("revanced_hide_shorts_video_title"), - SwitchPreference("revanced_hide_shorts_disclosure"), SwitchPreference("revanced_hide_shorts_sound_metadata_label"), SwitchPreference("revanced_hide_shorts_navigation_bar"), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index a10a4f60c1..1bf5558b9c 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -977,9 +977,6 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK Hide video title Video title is hidden Video title is shown - Hide disclosure tag - Disclosure tag is hidden - Disclosure tag is shown Hide sound metadata label Sound metadata label is hidden Sound metadata label is shown From e9a1c1d8fbc547806e95c064fabb8d3a510fcdcf Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 02:34:51 +0530 Subject: [PATCH 08/35] fix(YouTube - Hide Shorts components): Fix "Hide paid promotion label" --- .../extension/youtube/patches/components/ShortsFilter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index f41f1e3a31..99c07f9e24 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -173,7 +173,8 @@ public ShortsFilter() { paidPromotionButton = new StringFilterGroup( Settings.HIDE_PAID_PROMOTION_LABEL, - "reel_player_disclosure.e" + "reel_player_disclosure.e", + "shorts_disclosures.e" ); shortsActionBar = new StringFilterGroup( From b323365a1857bb9ae7b6492e5438ddb1eacdb10e Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 02:47:06 +0530 Subject: [PATCH 09/35] feat(YouTube - Hide Shorts components): Add "Hide live preview" --- .../youtube/patches/components/ShortsFilter.java | 9 ++++++++- .../revanced/extension/youtube/settings/Settings.java | 1 + .../layout/hide/shorts/HideShortsComponentsPatch.kt | 1 + .../src/main/resources/addresources/values/strings.xml | 3 +++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 99c07f9e24..3710f6b085 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -161,6 +161,13 @@ public ShortsFilter() { "participation_bar.e" ); + StringFilterGroup livePreview = new StringFilterGroup( + Settings.HIDE_SHORTS_LIVE_PREVIEW, + // Live Shorts preview that can popup while scrolling through Shorts player. + // Can be removed if a way to disable live Shorts is found. + "live_preview_page_vm.e" + ); + joinButton = new StringFilterGroup( Settings.HIDE_SHORTS_JOIN_BUTTON, "sponsor_button" @@ -223,7 +230,7 @@ public ShortsFilter() { shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, - stickers, likeFountain, likeButton, dislikeButton + stickers, likeFountain, likeButton, dislikeButton, livePreview ); // 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 2dd3131513..33652ef8fd 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 @@ -307,6 +307,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_SHORTS_JOIN_BUTTON = new BooleanSetting("revanced_hide_shorts_join_button", TRUE); public static final BooleanSetting HIDE_SHORTS_LIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_like_button", FALSE); public static final BooleanSetting HIDE_SHORTS_LIKE_FOUNTAIN = new BooleanSetting("revanced_hide_shorts_like_fountain", TRUE); + public static final BooleanSetting HIDE_SHORTS_LIVE_PREVIEW = new BooleanSetting("revanced_hide_shorts_live_preview", FALSE); public static final BooleanSetting HIDE_SHORTS_LOCATION_LABEL = new BooleanSetting("revanced_hide_shorts_location_label", FALSE); public static final BooleanSetting HIDE_SHORTS_NAVIGATION_BAR = new BooleanSetting("revanced_hide_shorts_navigation_bar", FALSE, true); public static final BooleanSetting HIDE_SHORTS_PAUSED_OVERLAY_BUTTONS = new BooleanSetting("revanced_hide_shorts_paused_overlay_buttons", FALSE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index de715d06c2..0903c4f0d5 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -101,6 +101,7 @@ private val hideShortsComponentsResourcePatch = resourcePatch { SwitchPreference("revanced_hide_shorts_effect_button"), SwitchPreference("revanced_hide_shorts_green_screen_button"), SwitchPreference("revanced_hide_shorts_hashtag_button"), + SwitchPreference("revanced_hide_shorts_live_preview"), SwitchPreference("revanced_hide_shorts_new_posts_button"), SwitchPreference("revanced_hide_shorts_shop_button"), SwitchPreference("revanced_hide_shorts_tagged_products"), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 1bf5558b9c..9c614af002 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -906,6 +906,9 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK Hide Join button Join button is hidden Join button is shown + Hide live preview + Live preview is hidden + Live preview is shown Hide location label Location label is hidden Location label is shown From c5471a569fef4a1c4be2d9a2fe9309c202b4978a Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 03:58:31 +0530 Subject: [PATCH 10/35] feat(YouTube - Hide layout components): Added "Hide Featured links" and "Hide Featured videos" options and linked them to "Hide Info cards" in video description --- .../extension/shared/settings/Setting.java | 17 +++++++++++++++++ .../components/DescriptionComponentsFilter.java | 17 +++++++++++------ .../components/LayoutComponentsFilter.java | 2 +- .../extension/youtube/settings/Settings.java | 6 ++++-- .../hide/general/HideLayoutComponentsPatch.kt | 5 +++-- .../resources/addresources/values/strings.xml | 15 +++++++++------ 6 files changed, 45 insertions(+), 17 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java index 38b2cee47f..32d24e3e1f 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java @@ -58,6 +58,23 @@ public List> getParentSettings() { }; } + /** + * Availability based on a single parent setting being disabled. + */ + public static Availability parentNot(BooleanSetting parent) { + return new Availability() { + @Override + public boolean isAvailable() { + return !parent.get(); + } + + @Override + public List> getParentSettings() { + return Collections.singletonList(parent); + } + }; + } + /** * Availability based on all parents being enabled. */ 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 314b79841c..e7b1af55b6 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 @@ -44,10 +44,14 @@ public DescriptionComponentsFilter() { "video_attributes_section" ); - final StringFilterGroup featuredSection = new StringFilterGroup( - Settings.HIDE_FEATURED_SECTION, - // "media_lockup", "structured_description_video_lockup" - "compact_infocard" + final StringFilterGroup featuredLinksSection = new StringFilterGroup( + Settings.HIDE_FEATURED_LINKS_SECTION, + "media_lockup" + ); + + final StringFilterGroup featuredVideosSection = new StringFilterGroup( + Settings.HIDE_FEATURED_VIDEOS_SECTION, + "structured_description_video_lockup" ); final StringFilterGroup podcastSection = new StringFilterGroup( @@ -76,7 +80,7 @@ public DescriptionComponentsFilter() { ); subscribeButton = new StringFilterGroup( - Settings.HIDE_DESCRIPTION_SUBSCRIBE_BUTTON, + Settings.HIDE_SUBSCRIBE_BUTTON, "subscribe_button" ); @@ -110,7 +114,8 @@ public DescriptionComponentsFilter() { aiGeneratedVideoSummarySection, askSection, attributesSection, - featuredSection, + featuredLinksSection, + featuredVideosSection, horizontalShelf, howThisWasMadeSection, hypePoints, diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index c67a6a2368..8e78c4744f 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -69,7 +69,7 @@ public LayoutComponentsFilter() { ); final var visualSpacers = new StringFilterGroup( - Settings.HIDE_VISUAL_SPACER, + Settings.HIDE_VISUAL_SPACERS, "cell_divider" ); 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 33652ef8fd..8e06e979b4 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 @@ -3,6 +3,7 @@ import static java.lang.Boolean.FALSE; import static java.lang.Boolean.TRUE; import static app.revanced.extension.shared.settings.Setting.parent; +import static app.revanced.extension.shared.settings.Setting.parentNot; import static app.revanced.extension.shared.settings.Setting.parentsAll; import static app.revanced.extension.shared.settings.Setting.parentsAny; import static app.revanced.extension.youtube.patches.ChangeFormFactorPatch.FormFactor; @@ -211,13 +212,14 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_ASK_SECTION = new BooleanSetting("revanced_hide_ask_section", FALSE); public static final BooleanSetting HIDE_ATTRIBUTES_SECTION = new BooleanSetting("revanced_hide_attributes_section", FALSE); public static final BooleanSetting HIDE_CHAPTERS_SECTION = new BooleanSetting("revanced_hide_chapters_section", TRUE); - public static final BooleanSetting HIDE_FEATURED_SECTION = new BooleanSetting("revanced_hide_featured_section", TRUE); public static final BooleanSetting HIDE_HOW_THIS_WAS_MADE_SECTION = new BooleanSetting("revanced_hide_how_this_was_made_section", FALSE); public static final BooleanSetting HIDE_HYPE_POINTS = new BooleanSetting("revanced_hide_hype_points", FALSE); public static final BooleanSetting HIDE_INFO_CARDS_SECTION = new BooleanSetting("revanced_hide_info_cards_section", TRUE); + public static final BooleanSetting HIDE_FEATURED_LINKS_SECTION = new BooleanSetting("revanced_hide_featured_links_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); + public static final BooleanSetting HIDE_FEATURED_VIDEOS_SECTION = new BooleanSetting("revanced_hide_featured_videos_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); + public static final BooleanSetting HIDE_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_subscribe_button", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); public static final BooleanSetting HIDE_KEY_CONCEPTS_SECTION = new BooleanSetting("revanced_hide_key_concepts_section", FALSE); public static final BooleanSetting HIDE_PODCAST_SECTION = new BooleanSetting("revanced_hide_podcast_section", TRUE); - public static final BooleanSetting HIDE_DESCRIPTION_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_description_subscribe_button", TRUE); public static final BooleanSetting HIDE_TRANSCRIPT_SECTION = new BooleanSetting("revanced_hide_transcript_section", TRUE); // Action buttons 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 f5a6ee9c4c..3a2e319d52 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 @@ -145,13 +145,14 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_ask_section"), SwitchPreference("revanced_hide_attributes_section"), SwitchPreference("revanced_hide_chapters_section"), - SwitchPreference("revanced_hide_featured_section"), + SwitchPreference("revanced_hide_featured_links_section"), + SwitchPreference("revanced_hide_featured_videos_section"), SwitchPreference("revanced_hide_info_cards_section"), SwitchPreference("revanced_hide_how_this_was_made_section"), SwitchPreference("revanced_hide_hype_points"), SwitchPreference("revanced_hide_key_concepts_section"), SwitchPreference("revanced_hide_podcast_section"), - SwitchPreference("revanced_hide_description_subscribe_button"), + SwitchPreference("revanced_hide_subscribe_button"), SwitchPreference("revanced_hide_transcript_section"), ), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 9c614af002..a141049e0c 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -349,18 +349,21 @@ If a Doodle is currently showing in your region and this hide setting is on, the Hide \'Explore the podcast\' Explore the podcast section is hidden Explore the podcast section is shown - Hide Featured content - Featured content section is hidden - Featured content section is shown + Hide Featured links + Featured links section is hidden + Featured links section is shown + Hide Featured videos + Featured videos section is hidden + Featured videos section is shown Hide Info cards Info cards section is hidden Info cards section is shown Hide \'Key concepts\' Key concepts section is hidden Key concepts section is shown - Hide Subscribe button - Subscribe button is hidden - Subscribe button is shown + Hide Subscribe button + Subscribe button is hidden + Subscribe button is shown Hide Transcript Transcript section is hidden Transcript section is shown From 753dab5eaf7cc59e72074f3425d5ed5f048437b6 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:26:20 +0530 Subject: [PATCH 11/35] Revert "feat(YouTube - Hide Shorts components): Add "Hide live preview"" This reverts commit b323365a1857bb9ae7b6492e5438ddb1eacdb10e. --- .../youtube/patches/components/ShortsFilter.java | 9 +-------- .../revanced/extension/youtube/settings/Settings.java | 1 - .../layout/hide/shorts/HideShortsComponentsPatch.kt | 1 - .../src/main/resources/addresources/values/strings.xml | 3 --- 4 files changed, 1 insertion(+), 13 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 3710f6b085..99c07f9e24 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -161,13 +161,6 @@ public ShortsFilter() { "participation_bar.e" ); - StringFilterGroup livePreview = new StringFilterGroup( - Settings.HIDE_SHORTS_LIVE_PREVIEW, - // Live Shorts preview that can popup while scrolling through Shorts player. - // Can be removed if a way to disable live Shorts is found. - "live_preview_page_vm.e" - ); - joinButton = new StringFilterGroup( Settings.HIDE_SHORTS_JOIN_BUTTON, "sponsor_button" @@ -230,7 +223,7 @@ public ShortsFilter() { shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, - stickers, likeFountain, likeButton, dislikeButton, livePreview + stickers, likeFountain, likeButton, dislikeButton ); // 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 8e06e979b4..6316cae2eb 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 @@ -309,7 +309,6 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_SHORTS_JOIN_BUTTON = new BooleanSetting("revanced_hide_shorts_join_button", TRUE); public static final BooleanSetting HIDE_SHORTS_LIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_like_button", FALSE); public static final BooleanSetting HIDE_SHORTS_LIKE_FOUNTAIN = new BooleanSetting("revanced_hide_shorts_like_fountain", TRUE); - public static final BooleanSetting HIDE_SHORTS_LIVE_PREVIEW = new BooleanSetting("revanced_hide_shorts_live_preview", FALSE); public static final BooleanSetting HIDE_SHORTS_LOCATION_LABEL = new BooleanSetting("revanced_hide_shorts_location_label", FALSE); public static final BooleanSetting HIDE_SHORTS_NAVIGATION_BAR = new BooleanSetting("revanced_hide_shorts_navigation_bar", FALSE, true); public static final BooleanSetting HIDE_SHORTS_PAUSED_OVERLAY_BUTTONS = new BooleanSetting("revanced_hide_shorts_paused_overlay_buttons", FALSE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index 0903c4f0d5..de715d06c2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -101,7 +101,6 @@ private val hideShortsComponentsResourcePatch = resourcePatch { SwitchPreference("revanced_hide_shorts_effect_button"), SwitchPreference("revanced_hide_shorts_green_screen_button"), SwitchPreference("revanced_hide_shorts_hashtag_button"), - SwitchPreference("revanced_hide_shorts_live_preview"), SwitchPreference("revanced_hide_shorts_new_posts_button"), SwitchPreference("revanced_hide_shorts_shop_button"), SwitchPreference("revanced_hide_shorts_tagged_products"), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index a141049e0c..8983eecdd7 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -909,9 +909,6 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK Hide Join button Join button is hidden Join button is shown - Hide live preview - Live preview is hidden - Live preview is shown Hide location label Location label is hidden Location label is shown From ca7106ebdd7711297f98b21b335613407750fd78 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:26:38 +0530 Subject: [PATCH 12/35] Revert "fix(YouTube - Hide Shorts components): Fix "Hide paid promotion label"" This reverts commit e9a1c1d8fbc547806e95c064fabb8d3a510fcdcf. --- .../extension/youtube/patches/components/ShortsFilter.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 99c07f9e24..f41f1e3a31 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -173,8 +173,7 @@ public ShortsFilter() { paidPromotionButton = new StringFilterGroup( Settings.HIDE_PAID_PROMOTION_LABEL, - "reel_player_disclosure.e", - "shorts_disclosures.e" + "reel_player_disclosure.e" ); shortsActionBar = new StringFilterGroup( From 5313b10e4329417bf69d22568040c8d77e11d50f Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:26:42 +0530 Subject: [PATCH 13/35] Reapply "feat(YouTube - Hide Shorts components): Add "Hide disclosure tag"" This reverts commit f107279d0c6a3c30f817860752c205b3079d64a2. --- .../youtube/patches/components/ShortsFilter.java | 11 ++++++++--- .../revanced/extension/youtube/settings/Settings.java | 1 + .../layout/hide/shorts/HideShortsComponentsPatch.kt | 1 + .../main/resources/addresources/values/strings.xml | 3 +++ 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index f41f1e3a31..8c552d4056 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -117,6 +117,11 @@ public ShortsFilter() { "shorts_video_title_item" ); + StringFilterGroup shortsDisclosure = new StringFilterGroup( + Settings.HIDE_SHORTS_DISCLOSURE, + "shorts_disclosures" + ); + StringFilterGroup reelSoundMetadata = new StringFilterGroup( Settings.HIDE_SHORTS_SOUND_METADATA_LABEL, "reel_sound_metadata" @@ -220,9 +225,9 @@ public ShortsFilter() { addPathCallbacks( shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, - shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, - fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, - stickers, likeFountain, likeButton, dislikeButton + shortsActionBar, shortsDisclosure, suggestedAction, pausedOverlayButtons, channelBar, + previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, + infoPanel, stickers, likeFountain, likeButton, dislikeButton ); // 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 6316cae2eb..671c7fb2a1 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 @@ -297,6 +297,7 @@ public class Settings extends BaseSettings { public static final EnumSetting SHORTS_PLAYER_TYPE = new EnumSetting<>("revanced_shorts_player_type", ShortsPlayerType.SHORTS_PLAYER); public static final BooleanSetting HIDE_SHORTS_CHANNEL_BAR = new BooleanSetting("revanced_hide_shorts_channel_bar", FALSE); public static final BooleanSetting HIDE_SHORTS_COMMENTS_BUTTON = new BooleanSetting("revanced_hide_shorts_comments_button", FALSE); + public static final BooleanSetting HIDE_SHORTS_DISCLOSURE = new BooleanSetting("revanced_hide_shorts_disclosure", FALSE); public static final BooleanSetting HIDE_SHORTS_DISLIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_dislike_button", FALSE); public static final BooleanSetting HIDE_SHORTS_FULL_VIDEO_LINK_LABEL = new BooleanSetting("revanced_hide_shorts_full_video_link_label", FALSE); public static final BooleanSetting HIDE_SHORTS_EFFECT_BUTTON = new BooleanSetting("revanced_hide_shorts_effect_button", TRUE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index de715d06c2..046030cd0a 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -114,6 +114,7 @@ private val hideShortsComponentsResourcePatch = resourcePatch { SwitchPreference("revanced_hide_shorts_info_panel"), SwitchPreference("revanced_hide_shorts_full_video_link_label"), SwitchPreference("revanced_hide_shorts_video_title"), + SwitchPreference("revanced_hide_shorts_disclosure"), SwitchPreference("revanced_hide_shorts_sound_metadata_label"), SwitchPreference("revanced_hide_shorts_navigation_bar"), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 8983eecdd7..10a91bda55 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -980,6 +980,9 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK Hide video title Video title is hidden Video title is shown + Hide disclosure tag + Disclosure tag is hidden + Disclosure tag is shown Hide sound metadata label Sound metadata label is hidden Sound metadata label is shown From 3e82cfcb2918c77fd6db486a77167edd77b3ca1e Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 02:19:06 +0530 Subject: [PATCH 14/35] Revert "feat(YouTube - Hide Shorts components): Add "Hide live preview"" This reverts commit b323365a --- .../patches/components/ShortsFilter.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 8c552d4056..3710f6b085 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -117,11 +117,6 @@ public ShortsFilter() { "shorts_video_title_item" ); - StringFilterGroup shortsDisclosure = new StringFilterGroup( - Settings.HIDE_SHORTS_DISCLOSURE, - "shorts_disclosures" - ); - StringFilterGroup reelSoundMetadata = new StringFilterGroup( Settings.HIDE_SHORTS_SOUND_METADATA_LABEL, "reel_sound_metadata" @@ -166,6 +161,13 @@ public ShortsFilter() { "participation_bar.e" ); + StringFilterGroup livePreview = new StringFilterGroup( + Settings.HIDE_SHORTS_LIVE_PREVIEW, + // Live Shorts preview that can popup while scrolling through Shorts player. + // Can be removed if a way to disable live Shorts is found. + "live_preview_page_vm.e" + ); + joinButton = new StringFilterGroup( Settings.HIDE_SHORTS_JOIN_BUTTON, "sponsor_button" @@ -178,7 +180,8 @@ public ShortsFilter() { paidPromotionButton = new StringFilterGroup( Settings.HIDE_PAID_PROMOTION_LABEL, - "reel_player_disclosure.e" + "reel_player_disclosure.e", + "shorts_disclosures.e" ); shortsActionBar = new StringFilterGroup( @@ -225,9 +228,9 @@ public ShortsFilter() { addPathCallbacks( shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, - shortsActionBar, shortsDisclosure, suggestedAction, pausedOverlayButtons, channelBar, - previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, - infoPanel, stickers, likeFountain, likeButton, dislikeButton + shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, + fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, + stickers, likeFountain, likeButton, dislikeButton, livePreview ); // From 549f86398c5549bad3f584ade18d046046189360 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:31:16 +0530 Subject: [PATCH 15/35] Revert "feat(YouTube - Hide Shorts components): Add "Hide live preview"" This reverts commit b323365a1857bb9ae7b6492e5438ddb1eacdb10e. --- .../youtube/patches/components/ShortsFilter.java | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 3710f6b085..99c07f9e24 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -161,13 +161,6 @@ public ShortsFilter() { "participation_bar.e" ); - StringFilterGroup livePreview = new StringFilterGroup( - Settings.HIDE_SHORTS_LIVE_PREVIEW, - // Live Shorts preview that can popup while scrolling through Shorts player. - // Can be removed if a way to disable live Shorts is found. - "live_preview_page_vm.e" - ); - joinButton = new StringFilterGroup( Settings.HIDE_SHORTS_JOIN_BUTTON, "sponsor_button" @@ -230,7 +223,7 @@ public ShortsFilter() { shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, - stickers, likeFountain, likeButton, dislikeButton, livePreview + stickers, likeFountain, likeButton, dislikeButton ); // From b11926be13c2bed084d0f28dd2b0f55f3ee35d45 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:31:49 +0530 Subject: [PATCH 16/35] Revert "Reapply "feat(YouTube - Hide Shorts components): Add "Hide disclosure tag""" This reverts commit 5313b10e4329417bf69d22568040c8d77e11d50f. --- .../java/app/revanced/extension/youtube/settings/Settings.java | 1 - .../youtube/layout/hide/shorts/HideShortsComponentsPatch.kt | 1 - patches/src/main/resources/addresources/values/strings.xml | 3 --- 3 files changed, 5 deletions(-) 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 671c7fb2a1..6316cae2eb 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 @@ -297,7 +297,6 @@ public class Settings extends BaseSettings { public static final EnumSetting SHORTS_PLAYER_TYPE = new EnumSetting<>("revanced_shorts_player_type", ShortsPlayerType.SHORTS_PLAYER); public static final BooleanSetting HIDE_SHORTS_CHANNEL_BAR = new BooleanSetting("revanced_hide_shorts_channel_bar", FALSE); public static final BooleanSetting HIDE_SHORTS_COMMENTS_BUTTON = new BooleanSetting("revanced_hide_shorts_comments_button", FALSE); - public static final BooleanSetting HIDE_SHORTS_DISCLOSURE = new BooleanSetting("revanced_hide_shorts_disclosure", FALSE); public static final BooleanSetting HIDE_SHORTS_DISLIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_dislike_button", FALSE); public static final BooleanSetting HIDE_SHORTS_FULL_VIDEO_LINK_LABEL = new BooleanSetting("revanced_hide_shorts_full_video_link_label", FALSE); public static final BooleanSetting HIDE_SHORTS_EFFECT_BUTTON = new BooleanSetting("revanced_hide_shorts_effect_button", TRUE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index 046030cd0a..de715d06c2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -114,7 +114,6 @@ private val hideShortsComponentsResourcePatch = resourcePatch { SwitchPreference("revanced_hide_shorts_info_panel"), SwitchPreference("revanced_hide_shorts_full_video_link_label"), SwitchPreference("revanced_hide_shorts_video_title"), - SwitchPreference("revanced_hide_shorts_disclosure"), SwitchPreference("revanced_hide_shorts_sound_metadata_label"), SwitchPreference("revanced_hide_shorts_navigation_bar"), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 10a91bda55..8983eecdd7 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -980,9 +980,6 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK Hide video title Video title is hidden Video title is shown - Hide disclosure tag - Disclosure tag is hidden - Disclosure tag is shown Hide sound metadata label Sound metadata label is hidden Sound metadata label is shown From 321f61e9c55c9a5883c13d2bb8f0e7926bb19ae2 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:33:09 +0530 Subject: [PATCH 17/35] Revert "fix(YouTube - Hide Shorts components): Fix "Hide paid promotion label"" This reverts commit e9a1c1d8fbc547806e95c064fabb8d3a510fcdcf. --- .../extension/youtube/patches/components/ShortsFilter.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 99c07f9e24..f41f1e3a31 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -173,8 +173,7 @@ public ShortsFilter() { paidPromotionButton = new StringFilterGroup( Settings.HIDE_PAID_PROMOTION_LABEL, - "reel_player_disclosure.e", - "shorts_disclosures.e" + "reel_player_disclosure.e" ); shortsActionBar = new StringFilterGroup( From 22f1bee96f65f5714b8664c103c1233803d3489a Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 03:32:25 +0530 Subject: [PATCH 18/35] feat(YouTube - Hide layout components): Added "Hide Featured links" and "Hide Featured videos" options and linked them to "Hide Info cards" feat(YouTube - Hide layout components): Add "Hide visual spacers" --- .../extension/shared/settings/Setting.java | 17 +++++++++++++++++ .../DescriptionComponentsFilter.java | 17 +++++++++++------ .../components/LayoutComponentsFilter.java | 8 +++++++- .../extension/youtube/settings/Settings.java | 7 +++++-- .../hide/general/HideLayoutComponentsPatch.kt | 8 +++++--- .../resources/addresources/values/strings.xml | 18 ++++++++++++------ 6 files changed, 57 insertions(+), 18 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java index 38b2cee47f..32d24e3e1f 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java @@ -58,6 +58,23 @@ public List> getParentSettings() { }; } + /** + * Availability based on a single parent setting being disabled. + */ + public static Availability parentNot(BooleanSetting parent) { + return new Availability() { + @Override + public boolean isAvailable() { + return !parent.get(); + } + + @Override + public List> getParentSettings() { + return Collections.singletonList(parent); + } + }; + } + /** * Availability based on all parents being enabled. */ 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 314b79841c..e7b1af55b6 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 @@ -44,10 +44,14 @@ public DescriptionComponentsFilter() { "video_attributes_section" ); - final StringFilterGroup featuredSection = new StringFilterGroup( - Settings.HIDE_FEATURED_SECTION, - // "media_lockup", "structured_description_video_lockup" - "compact_infocard" + final StringFilterGroup featuredLinksSection = new StringFilterGroup( + Settings.HIDE_FEATURED_LINKS_SECTION, + "media_lockup" + ); + + final StringFilterGroup featuredVideosSection = new StringFilterGroup( + Settings.HIDE_FEATURED_VIDEOS_SECTION, + "structured_description_video_lockup" ); final StringFilterGroup podcastSection = new StringFilterGroup( @@ -76,7 +80,7 @@ public DescriptionComponentsFilter() { ); subscribeButton = new StringFilterGroup( - Settings.HIDE_DESCRIPTION_SUBSCRIBE_BUTTON, + Settings.HIDE_SUBSCRIBE_BUTTON, "subscribe_button" ); @@ -110,7 +114,8 @@ public DescriptionComponentsFilter() { aiGeneratedVideoSummarySection, askSection, attributesSection, - featuredSection, + featuredLinksSection, + featuredVideosSection, horizontalShelf, howThisWasMadeSection, hypePoints, diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index 00429359f2..8e78c4744f 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -68,8 +68,14 @@ public LayoutComponentsFilter() { "chips_shelf" ); + final var visualSpacers = new StringFilterGroup( + Settings.HIDE_VISUAL_SPACERS, + "cell_divider" + ); + addIdentifierCallbacks( - chipsShelf + chipsShelf, + visualSpacers ); // Paths. 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 301b40c7a0..6316cae2eb 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 @@ -3,6 +3,7 @@ import static java.lang.Boolean.FALSE; import static java.lang.Boolean.TRUE; import static app.revanced.extension.shared.settings.Setting.parent; +import static app.revanced.extension.shared.settings.Setting.parentNot; import static app.revanced.extension.shared.settings.Setting.parentsAll; import static app.revanced.extension.shared.settings.Setting.parentsAny; import static app.revanced.extension.youtube.patches.ChangeFormFactorPatch.FormFactor; @@ -115,6 +116,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_UPLOAD_TIME = new BooleanSetting("revanced_hide_upload_time", FALSE, "revanced_hide_upload_time_user_dialog_message"); public static final BooleanSetting HIDE_VIDEO_RECOMMENDATION_LABELS = new BooleanSetting("revanced_hide_video_recommendation_labels", TRUE); public static final BooleanSetting HIDE_VIEW_COUNT = new BooleanSetting("revanced_hide_view_count", FALSE, "revanced_hide_view_count_user_dialog_message"); + public static final BooleanSetting HIDE_VISUAL_SPACERS = new BooleanSetting("revanced_hide_visual_spacers", TRUE); // Alternative thumbnails public static final EnumSetting ALT_THUMBNAIL_HOME = new EnumSetting<>("revanced_alt_thumbnail_home", ThumbnailOption.ORIGINAL); @@ -210,13 +212,14 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_ASK_SECTION = new BooleanSetting("revanced_hide_ask_section", FALSE); public static final BooleanSetting HIDE_ATTRIBUTES_SECTION = new BooleanSetting("revanced_hide_attributes_section", FALSE); public static final BooleanSetting HIDE_CHAPTERS_SECTION = new BooleanSetting("revanced_hide_chapters_section", TRUE); - public static final BooleanSetting HIDE_FEATURED_SECTION = new BooleanSetting("revanced_hide_featured_section", TRUE); public static final BooleanSetting HIDE_HOW_THIS_WAS_MADE_SECTION = new BooleanSetting("revanced_hide_how_this_was_made_section", FALSE); public static final BooleanSetting HIDE_HYPE_POINTS = new BooleanSetting("revanced_hide_hype_points", FALSE); public static final BooleanSetting HIDE_INFO_CARDS_SECTION = new BooleanSetting("revanced_hide_info_cards_section", TRUE); + public static final BooleanSetting HIDE_FEATURED_LINKS_SECTION = new BooleanSetting("revanced_hide_featured_links_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); + public static final BooleanSetting HIDE_FEATURED_VIDEOS_SECTION = new BooleanSetting("revanced_hide_featured_videos_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); + public static final BooleanSetting HIDE_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_subscribe_button", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); public static final BooleanSetting HIDE_KEY_CONCEPTS_SECTION = new BooleanSetting("revanced_hide_key_concepts_section", FALSE); public static final BooleanSetting HIDE_PODCAST_SECTION = new BooleanSetting("revanced_hide_podcast_section", TRUE); - public static final BooleanSetting HIDE_DESCRIPTION_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_description_subscribe_button", TRUE); public static final BooleanSetting HIDE_TRANSCRIPT_SECTION = new BooleanSetting("revanced_hide_transcript_section", TRUE); // Action buttons 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 36959f2299..3a2e319d52 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 @@ -145,13 +145,14 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_ask_section"), SwitchPreference("revanced_hide_attributes_section"), SwitchPreference("revanced_hide_chapters_section"), - SwitchPreference("revanced_hide_featured_section"), + SwitchPreference("revanced_hide_featured_links_section"), + SwitchPreference("revanced_hide_featured_videos_section"), SwitchPreference("revanced_hide_info_cards_section"), SwitchPreference("revanced_hide_how_this_was_made_section"), SwitchPreference("revanced_hide_hype_points"), SwitchPreference("revanced_hide_key_concepts_section"), SwitchPreference("revanced_hide_podcast_section"), - SwitchPreference("revanced_hide_description_subscribe_button"), + SwitchPreference("revanced_hide_subscribe_button"), SwitchPreference("revanced_hide_transcript_section"), ), ), @@ -242,9 +243,10 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_show_more_button"), SwitchPreference("revanced_hide_surveys"), SwitchPreference("revanced_hide_ticket_shelf"), + SwitchPreference("revanced_hide_upload_time"), SwitchPreference("revanced_hide_video_recommendation_labels"), SwitchPreference("revanced_hide_view_count"), - SwitchPreference("revanced_hide_upload_time"), + SwitchPreference("revanced_hide_visual_spacers"), SwitchPreference("revanced_hide_doodles"), ) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 38c3bfb9db..8983eecdd7 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -286,6 +286,9 @@ However, enabling this will also log some user data such as your IP address."Hide video recommendation labels \'People also watched\' and \'You might also like\' labels in search results are hidden \'People also watched\' and \'You might also like\' labels in search results are shown + Hide visual spacers + Visual spacers are hidden + Visual spacers are shown Hide YouTube Doodles YouTube Doodles animation on the logo is hidden @@ -346,18 +349,21 @@ If a Doodle is currently showing in your region and this hide setting is on, the Hide \'Explore the podcast\' Explore the podcast section is hidden Explore the podcast section is shown - Hide Featured content - Featured content section is hidden - Featured content section is shown + Hide Featured links + Featured links section is hidden + Featured links section is shown + Hide Featured videos + Featured videos section is hidden + Featured videos section is shown Hide Info cards Info cards section is hidden Info cards section is shown Hide \'Key concepts\' Key concepts section is hidden Key concepts section is shown - Hide Subscribe button - Subscribe button is hidden - Subscribe button is shown + Hide Subscribe button + Subscribe button is hidden + Subscribe button is shown Hide Transcript Transcript section is hidden Transcript section is shown From ccc81aa26c58bcb932cfa5c0943895e562de5759 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:05:05 +0530 Subject: [PATCH 19/35] Revert "feat(YouTube - Hide layout components): Added "Hide Featured links" and "Hide Featured videos" options and linked them to "Hide Info cards"" This reverts commit 2bc493c58da80e4a36ff4df406d2685d738dd328. --- .../extension/shared/settings/Setting.java | 17 ----------------- .../components/DescriptionComponentsFilter.java | 17 ++++++----------- .../components/LayoutComponentsFilter.java | 2 +- .../extension/youtube/settings/Settings.java | 6 ++---- .../hide/general/HideLayoutComponentsPatch.kt | 5 ++--- .../resources/addresources/values/strings.xml | 15 ++++++--------- 6 files changed, 17 insertions(+), 45 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java index 32d24e3e1f..38b2cee47f 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java @@ -58,23 +58,6 @@ public List> getParentSettings() { }; } - /** - * Availability based on a single parent setting being disabled. - */ - public static Availability parentNot(BooleanSetting parent) { - return new Availability() { - @Override - public boolean isAvailable() { - return !parent.get(); - } - - @Override - public List> getParentSettings() { - return Collections.singletonList(parent); - } - }; - } - /** * Availability based on all parents being enabled. */ 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 e7b1af55b6..314b79841c 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 @@ -44,14 +44,10 @@ public DescriptionComponentsFilter() { "video_attributes_section" ); - final StringFilterGroup featuredLinksSection = new StringFilterGroup( - Settings.HIDE_FEATURED_LINKS_SECTION, - "media_lockup" - ); - - final StringFilterGroup featuredVideosSection = new StringFilterGroup( - Settings.HIDE_FEATURED_VIDEOS_SECTION, - "structured_description_video_lockup" + final StringFilterGroup featuredSection = new StringFilterGroup( + Settings.HIDE_FEATURED_SECTION, + // "media_lockup", "structured_description_video_lockup" + "compact_infocard" ); final StringFilterGroup podcastSection = new StringFilterGroup( @@ -80,7 +76,7 @@ public DescriptionComponentsFilter() { ); subscribeButton = new StringFilterGroup( - Settings.HIDE_SUBSCRIBE_BUTTON, + Settings.HIDE_DESCRIPTION_SUBSCRIBE_BUTTON, "subscribe_button" ); @@ -114,8 +110,7 @@ public DescriptionComponentsFilter() { aiGeneratedVideoSummarySection, askSection, attributesSection, - featuredLinksSection, - featuredVideosSection, + featuredSection, horizontalShelf, howThisWasMadeSection, hypePoints, diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index 8e78c4744f..c67a6a2368 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -69,7 +69,7 @@ public LayoutComponentsFilter() { ); final var visualSpacers = new StringFilterGroup( - Settings.HIDE_VISUAL_SPACERS, + Settings.HIDE_VISUAL_SPACER, "cell_divider" ); 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 6316cae2eb..2dd3131513 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 @@ -3,7 +3,6 @@ import static java.lang.Boolean.FALSE; import static java.lang.Boolean.TRUE; import static app.revanced.extension.shared.settings.Setting.parent; -import static app.revanced.extension.shared.settings.Setting.parentNot; import static app.revanced.extension.shared.settings.Setting.parentsAll; import static app.revanced.extension.shared.settings.Setting.parentsAny; import static app.revanced.extension.youtube.patches.ChangeFormFactorPatch.FormFactor; @@ -212,14 +211,13 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_ASK_SECTION = new BooleanSetting("revanced_hide_ask_section", FALSE); public static final BooleanSetting HIDE_ATTRIBUTES_SECTION = new BooleanSetting("revanced_hide_attributes_section", FALSE); public static final BooleanSetting HIDE_CHAPTERS_SECTION = new BooleanSetting("revanced_hide_chapters_section", TRUE); + public static final BooleanSetting HIDE_FEATURED_SECTION = new BooleanSetting("revanced_hide_featured_section", TRUE); public static final BooleanSetting HIDE_HOW_THIS_WAS_MADE_SECTION = new BooleanSetting("revanced_hide_how_this_was_made_section", FALSE); public static final BooleanSetting HIDE_HYPE_POINTS = new BooleanSetting("revanced_hide_hype_points", FALSE); public static final BooleanSetting HIDE_INFO_CARDS_SECTION = new BooleanSetting("revanced_hide_info_cards_section", TRUE); - public static final BooleanSetting HIDE_FEATURED_LINKS_SECTION = new BooleanSetting("revanced_hide_featured_links_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); - public static final BooleanSetting HIDE_FEATURED_VIDEOS_SECTION = new BooleanSetting("revanced_hide_featured_videos_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); - public static final BooleanSetting HIDE_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_subscribe_button", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); public static final BooleanSetting HIDE_KEY_CONCEPTS_SECTION = new BooleanSetting("revanced_hide_key_concepts_section", FALSE); public static final BooleanSetting HIDE_PODCAST_SECTION = new BooleanSetting("revanced_hide_podcast_section", TRUE); + public static final BooleanSetting HIDE_DESCRIPTION_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_description_subscribe_button", TRUE); public static final BooleanSetting HIDE_TRANSCRIPT_SECTION = new BooleanSetting("revanced_hide_transcript_section", TRUE); // Action buttons 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 3a2e319d52..f5a6ee9c4c 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 @@ -145,14 +145,13 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_ask_section"), SwitchPreference("revanced_hide_attributes_section"), SwitchPreference("revanced_hide_chapters_section"), - SwitchPreference("revanced_hide_featured_links_section"), - SwitchPreference("revanced_hide_featured_videos_section"), + SwitchPreference("revanced_hide_featured_section"), SwitchPreference("revanced_hide_info_cards_section"), SwitchPreference("revanced_hide_how_this_was_made_section"), SwitchPreference("revanced_hide_hype_points"), SwitchPreference("revanced_hide_key_concepts_section"), SwitchPreference("revanced_hide_podcast_section"), - SwitchPreference("revanced_hide_subscribe_button"), + SwitchPreference("revanced_hide_description_subscribe_button"), SwitchPreference("revanced_hide_transcript_section"), ), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 8983eecdd7..1bf5558b9c 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -349,21 +349,18 @@ If a Doodle is currently showing in your region and this hide setting is on, the Hide \'Explore the podcast\' Explore the podcast section is hidden Explore the podcast section is shown - Hide Featured links - Featured links section is hidden - Featured links section is shown - Hide Featured videos - Featured videos section is hidden - Featured videos section is shown + Hide Featured content + Featured content section is hidden + Featured content section is shown Hide Info cards Info cards section is hidden Info cards section is shown Hide \'Key concepts\' Key concepts section is hidden Key concepts section is shown - Hide Subscribe button - Subscribe button is hidden - Subscribe button is shown + Hide Subscribe button + Subscribe button is hidden + Subscribe button is shown Hide Transcript Transcript section is hidden Transcript section is shown From 7fadc272e45a3e2170771f331dfa258de0710472 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:05:05 +0530 Subject: [PATCH 20/35] Revert "feat(YouTube - Hide layout components): Add "Hide visual spacers"" This reverts commit b9a5b09b706c8b972ff774692ad4e20827e53e7c. --- .../patches/components/LayoutComponentsFilter.java | 8 +------- .../app/revanced/extension/youtube/settings/Settings.java | 1 - .../layout/hide/general/HideLayoutComponentsPatch.kt | 3 +-- .../src/main/resources/addresources/values/strings.xml | 3 --- 4 files changed, 2 insertions(+), 13 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index c67a6a2368..00429359f2 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -68,14 +68,8 @@ public LayoutComponentsFilter() { "chips_shelf" ); - final var visualSpacers = new StringFilterGroup( - Settings.HIDE_VISUAL_SPACER, - "cell_divider" - ); - addIdentifierCallbacks( - chipsShelf, - visualSpacers + chipsShelf ); // Paths. 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 2dd3131513..301b40c7a0 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 @@ -115,7 +115,6 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_UPLOAD_TIME = new BooleanSetting("revanced_hide_upload_time", FALSE, "revanced_hide_upload_time_user_dialog_message"); public static final BooleanSetting HIDE_VIDEO_RECOMMENDATION_LABELS = new BooleanSetting("revanced_hide_video_recommendation_labels", TRUE); public static final BooleanSetting HIDE_VIEW_COUNT = new BooleanSetting("revanced_hide_view_count", FALSE, "revanced_hide_view_count_user_dialog_message"); - public static final BooleanSetting HIDE_VISUAL_SPACERS = new BooleanSetting("revanced_hide_visual_spacers", TRUE); // Alternative thumbnails public static final EnumSetting ALT_THUMBNAIL_HOME = new EnumSetting<>("revanced_alt_thumbnail_home", ThumbnailOption.ORIGINAL); 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 f5a6ee9c4c..36959f2299 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 @@ -242,10 +242,9 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_show_more_button"), SwitchPreference("revanced_hide_surveys"), SwitchPreference("revanced_hide_ticket_shelf"), - SwitchPreference("revanced_hide_upload_time"), SwitchPreference("revanced_hide_video_recommendation_labels"), SwitchPreference("revanced_hide_view_count"), - SwitchPreference("revanced_hide_visual_spacers"), + SwitchPreference("revanced_hide_upload_time"), SwitchPreference("revanced_hide_doodles"), ) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 1bf5558b9c..38c3bfb9db 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -286,9 +286,6 @@ However, enabling this will also log some user data such as your IP address."Hide video recommendation labels \'People also watched\' and \'You might also like\' labels in search results are hidden \'People also watched\' and \'You might also like\' labels in search results are shown - Hide visual spacers - Visual spacers are hidden - Visual spacers are shown Hide YouTube Doodles YouTube Doodles animation on the logo is hidden From 78bdb918f9900aef8d9c4c342319dea4bf98c919 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 03:32:25 +0530 Subject: [PATCH 21/35] feat(YouTube - Hide layout components): Add "Hide visual spacers" --- .../patches/components/LayoutComponentsFilter.java | 8 +++++++- .../app/revanced/extension/youtube/settings/Settings.java | 1 + .../layout/hide/general/HideLayoutComponentsPatch.kt | 3 ++- .../src/main/resources/addresources/values/strings.xml | 3 +++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index 00429359f2..c67a6a2368 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -68,8 +68,14 @@ public LayoutComponentsFilter() { "chips_shelf" ); + final var visualSpacers = new StringFilterGroup( + Settings.HIDE_VISUAL_SPACER, + "cell_divider" + ); + addIdentifierCallbacks( - chipsShelf + chipsShelf, + visualSpacers ); // Paths. 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 301b40c7a0..2dd3131513 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 @@ -115,6 +115,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_UPLOAD_TIME = new BooleanSetting("revanced_hide_upload_time", FALSE, "revanced_hide_upload_time_user_dialog_message"); public static final BooleanSetting HIDE_VIDEO_RECOMMENDATION_LABELS = new BooleanSetting("revanced_hide_video_recommendation_labels", TRUE); public static final BooleanSetting HIDE_VIEW_COUNT = new BooleanSetting("revanced_hide_view_count", FALSE, "revanced_hide_view_count_user_dialog_message"); + public static final BooleanSetting HIDE_VISUAL_SPACERS = new BooleanSetting("revanced_hide_visual_spacers", TRUE); // Alternative thumbnails public static final EnumSetting ALT_THUMBNAIL_HOME = new EnumSetting<>("revanced_alt_thumbnail_home", ThumbnailOption.ORIGINAL); 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 36959f2299..f5a6ee9c4c 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 @@ -242,9 +242,10 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_show_more_button"), SwitchPreference("revanced_hide_surveys"), SwitchPreference("revanced_hide_ticket_shelf"), + SwitchPreference("revanced_hide_upload_time"), SwitchPreference("revanced_hide_video_recommendation_labels"), SwitchPreference("revanced_hide_view_count"), - SwitchPreference("revanced_hide_upload_time"), + SwitchPreference("revanced_hide_visual_spacers"), SwitchPreference("revanced_hide_doodles"), ) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 38c3bfb9db..1bf5558b9c 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -286,6 +286,9 @@ However, enabling this will also log some user data such as your IP address."Hide video recommendation labels \'People also watched\' and \'You might also like\' labels in search results are hidden \'People also watched\' and \'You might also like\' labels in search results are shown + Hide visual spacers + Visual spacers are hidden + Visual spacers are shown Hide YouTube Doodles YouTube Doodles animation on the logo is hidden From 0d17035775b1e2f9cfd30b6a07f3a4cf754ec082 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 02:19:06 +0530 Subject: [PATCH 22/35] feat(YouTube - Hide Shorts components): Add "Hide disclosure tag" --- .../youtube/patches/components/ShortsFilter.java | 11 ++++++++--- .../revanced/extension/youtube/settings/Settings.java | 1 + .../layout/hide/shorts/HideShortsComponentsPatch.kt | 1 + .../main/resources/addresources/values/strings.xml | 3 +++ 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index f41f1e3a31..8c552d4056 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -117,6 +117,11 @@ public ShortsFilter() { "shorts_video_title_item" ); + StringFilterGroup shortsDisclosure = new StringFilterGroup( + Settings.HIDE_SHORTS_DISCLOSURE, + "shorts_disclosures" + ); + StringFilterGroup reelSoundMetadata = new StringFilterGroup( Settings.HIDE_SHORTS_SOUND_METADATA_LABEL, "reel_sound_metadata" @@ -220,9 +225,9 @@ public ShortsFilter() { addPathCallbacks( shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, - shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, - fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, - stickers, likeFountain, likeButton, dislikeButton + shortsActionBar, shortsDisclosure, suggestedAction, pausedOverlayButtons, channelBar, + previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, + infoPanel, stickers, likeFountain, likeButton, dislikeButton ); // 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 2dd3131513..5b2515fc96 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 @@ -295,6 +295,7 @@ public class Settings extends BaseSettings { public static final EnumSetting SHORTS_PLAYER_TYPE = new EnumSetting<>("revanced_shorts_player_type", ShortsPlayerType.SHORTS_PLAYER); public static final BooleanSetting HIDE_SHORTS_CHANNEL_BAR = new BooleanSetting("revanced_hide_shorts_channel_bar", FALSE); public static final BooleanSetting HIDE_SHORTS_COMMENTS_BUTTON = new BooleanSetting("revanced_hide_shorts_comments_button", FALSE); + public static final BooleanSetting HIDE_SHORTS_DISCLOSURE = new BooleanSetting("revanced_hide_shorts_disclosure", FALSE); public static final BooleanSetting HIDE_SHORTS_DISLIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_dislike_button", FALSE); public static final BooleanSetting HIDE_SHORTS_FULL_VIDEO_LINK_LABEL = new BooleanSetting("revanced_hide_shorts_full_video_link_label", FALSE); public static final BooleanSetting HIDE_SHORTS_EFFECT_BUTTON = new BooleanSetting("revanced_hide_shorts_effect_button", TRUE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index de715d06c2..046030cd0a 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -114,6 +114,7 @@ private val hideShortsComponentsResourcePatch = resourcePatch { SwitchPreference("revanced_hide_shorts_info_panel"), SwitchPreference("revanced_hide_shorts_full_video_link_label"), SwitchPreference("revanced_hide_shorts_video_title"), + SwitchPreference("revanced_hide_shorts_disclosure"), SwitchPreference("revanced_hide_shorts_sound_metadata_label"), SwitchPreference("revanced_hide_shorts_navigation_bar"), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 1bf5558b9c..a10a4f60c1 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -977,6 +977,9 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK Hide video title Video title is hidden Video title is shown + Hide disclosure tag + Disclosure tag is hidden + Disclosure tag is shown Hide sound metadata label Sound metadata label is hidden Sound metadata label is shown From 53a0dbcd8b5030f00f909f0195fba7f48a5a4377 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 02:33:39 +0530 Subject: [PATCH 23/35] Revert "feat(YouTube - Hide Shorts components): Add "Hide disclosure tag"" This reverts commit b059119cc449d616fb50d50d55ae652f49aa0ed0. --- .../youtube/patches/components/ShortsFilter.java | 11 +++-------- .../revanced/extension/youtube/settings/Settings.java | 1 - .../layout/hide/shorts/HideShortsComponentsPatch.kt | 1 - .../main/resources/addresources/values/strings.xml | 3 --- 4 files changed, 3 insertions(+), 13 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 8c552d4056..f41f1e3a31 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -117,11 +117,6 @@ public ShortsFilter() { "shorts_video_title_item" ); - StringFilterGroup shortsDisclosure = new StringFilterGroup( - Settings.HIDE_SHORTS_DISCLOSURE, - "shorts_disclosures" - ); - StringFilterGroup reelSoundMetadata = new StringFilterGroup( Settings.HIDE_SHORTS_SOUND_METADATA_LABEL, "reel_sound_metadata" @@ -225,9 +220,9 @@ public ShortsFilter() { addPathCallbacks( shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, - shortsActionBar, shortsDisclosure, suggestedAction, pausedOverlayButtons, channelBar, - previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, - infoPanel, stickers, likeFountain, likeButton, dislikeButton + shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, + fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, + stickers, likeFountain, likeButton, dislikeButton ); // 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 5b2515fc96..2dd3131513 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 @@ -295,7 +295,6 @@ public class Settings extends BaseSettings { public static final EnumSetting SHORTS_PLAYER_TYPE = new EnumSetting<>("revanced_shorts_player_type", ShortsPlayerType.SHORTS_PLAYER); public static final BooleanSetting HIDE_SHORTS_CHANNEL_BAR = new BooleanSetting("revanced_hide_shorts_channel_bar", FALSE); public static final BooleanSetting HIDE_SHORTS_COMMENTS_BUTTON = new BooleanSetting("revanced_hide_shorts_comments_button", FALSE); - public static final BooleanSetting HIDE_SHORTS_DISCLOSURE = new BooleanSetting("revanced_hide_shorts_disclosure", FALSE); public static final BooleanSetting HIDE_SHORTS_DISLIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_dislike_button", FALSE); public static final BooleanSetting HIDE_SHORTS_FULL_VIDEO_LINK_LABEL = new BooleanSetting("revanced_hide_shorts_full_video_link_label", FALSE); public static final BooleanSetting HIDE_SHORTS_EFFECT_BUTTON = new BooleanSetting("revanced_hide_shorts_effect_button", TRUE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index 046030cd0a..de715d06c2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -114,7 +114,6 @@ private val hideShortsComponentsResourcePatch = resourcePatch { SwitchPreference("revanced_hide_shorts_info_panel"), SwitchPreference("revanced_hide_shorts_full_video_link_label"), SwitchPreference("revanced_hide_shorts_video_title"), - SwitchPreference("revanced_hide_shorts_disclosure"), SwitchPreference("revanced_hide_shorts_sound_metadata_label"), SwitchPreference("revanced_hide_shorts_navigation_bar"), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index a10a4f60c1..1bf5558b9c 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -977,9 +977,6 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK Hide video title Video title is hidden Video title is shown - Hide disclosure tag - Disclosure tag is hidden - Disclosure tag is shown Hide sound metadata label Sound metadata label is hidden Sound metadata label is shown From 3589a346440b571e5b7804423fcdeb3ce013344d Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 02:34:51 +0530 Subject: [PATCH 24/35] fix(YouTube - Hide Shorts components): Fix "Hide paid promotion label" --- .../extension/youtube/patches/components/ShortsFilter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index f41f1e3a31..99c07f9e24 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -173,7 +173,8 @@ public ShortsFilter() { paidPromotionButton = new StringFilterGroup( Settings.HIDE_PAID_PROMOTION_LABEL, - "reel_player_disclosure.e" + "reel_player_disclosure.e", + "shorts_disclosures.e" ); shortsActionBar = new StringFilterGroup( From d19c8dd12d019c8d719f8b71374873e87e506625 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 02:47:06 +0530 Subject: [PATCH 25/35] feat(YouTube - Hide Shorts components): Add "Hide live preview" --- .../youtube/patches/components/ShortsFilter.java | 9 ++++++++- .../revanced/extension/youtube/settings/Settings.java | 1 + .../layout/hide/shorts/HideShortsComponentsPatch.kt | 1 + .../src/main/resources/addresources/values/strings.xml | 3 +++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 99c07f9e24..3710f6b085 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -161,6 +161,13 @@ public ShortsFilter() { "participation_bar.e" ); + StringFilterGroup livePreview = new StringFilterGroup( + Settings.HIDE_SHORTS_LIVE_PREVIEW, + // Live Shorts preview that can popup while scrolling through Shorts player. + // Can be removed if a way to disable live Shorts is found. + "live_preview_page_vm.e" + ); + joinButton = new StringFilterGroup( Settings.HIDE_SHORTS_JOIN_BUTTON, "sponsor_button" @@ -223,7 +230,7 @@ public ShortsFilter() { shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, - stickers, likeFountain, likeButton, dislikeButton + stickers, likeFountain, likeButton, dislikeButton, livePreview ); // 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 2dd3131513..33652ef8fd 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 @@ -307,6 +307,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_SHORTS_JOIN_BUTTON = new BooleanSetting("revanced_hide_shorts_join_button", TRUE); public static final BooleanSetting HIDE_SHORTS_LIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_like_button", FALSE); public static final BooleanSetting HIDE_SHORTS_LIKE_FOUNTAIN = new BooleanSetting("revanced_hide_shorts_like_fountain", TRUE); + public static final BooleanSetting HIDE_SHORTS_LIVE_PREVIEW = new BooleanSetting("revanced_hide_shorts_live_preview", FALSE); public static final BooleanSetting HIDE_SHORTS_LOCATION_LABEL = new BooleanSetting("revanced_hide_shorts_location_label", FALSE); public static final BooleanSetting HIDE_SHORTS_NAVIGATION_BAR = new BooleanSetting("revanced_hide_shorts_navigation_bar", FALSE, true); public static final BooleanSetting HIDE_SHORTS_PAUSED_OVERLAY_BUTTONS = new BooleanSetting("revanced_hide_shorts_paused_overlay_buttons", FALSE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index de715d06c2..0903c4f0d5 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -101,6 +101,7 @@ private val hideShortsComponentsResourcePatch = resourcePatch { SwitchPreference("revanced_hide_shorts_effect_button"), SwitchPreference("revanced_hide_shorts_green_screen_button"), SwitchPreference("revanced_hide_shorts_hashtag_button"), + SwitchPreference("revanced_hide_shorts_live_preview"), SwitchPreference("revanced_hide_shorts_new_posts_button"), SwitchPreference("revanced_hide_shorts_shop_button"), SwitchPreference("revanced_hide_shorts_tagged_products"), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 1bf5558b9c..9c614af002 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -906,6 +906,9 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK Hide Join button Join button is hidden Join button is shown + Hide live preview + Live preview is hidden + Live preview is shown Hide location label Location label is hidden Location label is shown From 529708d933b5346e6280cbe39f23d11ad02626fc Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 03:58:31 +0530 Subject: [PATCH 26/35] feat(YouTube - Hide layout components): Added "Hide Featured links" and "Hide Featured videos" options and linked them to "Hide Info cards" in video description --- .../extension/shared/settings/Setting.java | 17 +++++++++++++++++ .../components/DescriptionComponentsFilter.java | 17 +++++++++++------ .../components/LayoutComponentsFilter.java | 2 +- .../extension/youtube/settings/Settings.java | 6 ++++-- .../hide/general/HideLayoutComponentsPatch.kt | 5 +++-- .../resources/addresources/values/strings.xml | 15 +++++++++------ 6 files changed, 45 insertions(+), 17 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java index 38b2cee47f..32d24e3e1f 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java @@ -58,6 +58,23 @@ public List> getParentSettings() { }; } + /** + * Availability based on a single parent setting being disabled. + */ + public static Availability parentNot(BooleanSetting parent) { + return new Availability() { + @Override + public boolean isAvailable() { + return !parent.get(); + } + + @Override + public List> getParentSettings() { + return Collections.singletonList(parent); + } + }; + } + /** * Availability based on all parents being enabled. */ 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 314b79841c..e7b1af55b6 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 @@ -44,10 +44,14 @@ public DescriptionComponentsFilter() { "video_attributes_section" ); - final StringFilterGroup featuredSection = new StringFilterGroup( - Settings.HIDE_FEATURED_SECTION, - // "media_lockup", "structured_description_video_lockup" - "compact_infocard" + final StringFilterGroup featuredLinksSection = new StringFilterGroup( + Settings.HIDE_FEATURED_LINKS_SECTION, + "media_lockup" + ); + + final StringFilterGroup featuredVideosSection = new StringFilterGroup( + Settings.HIDE_FEATURED_VIDEOS_SECTION, + "structured_description_video_lockup" ); final StringFilterGroup podcastSection = new StringFilterGroup( @@ -76,7 +80,7 @@ public DescriptionComponentsFilter() { ); subscribeButton = new StringFilterGroup( - Settings.HIDE_DESCRIPTION_SUBSCRIBE_BUTTON, + Settings.HIDE_SUBSCRIBE_BUTTON, "subscribe_button" ); @@ -110,7 +114,8 @@ public DescriptionComponentsFilter() { aiGeneratedVideoSummarySection, askSection, attributesSection, - featuredSection, + featuredLinksSection, + featuredVideosSection, horizontalShelf, howThisWasMadeSection, hypePoints, diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index c67a6a2368..8e78c4744f 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -69,7 +69,7 @@ public LayoutComponentsFilter() { ); final var visualSpacers = new StringFilterGroup( - Settings.HIDE_VISUAL_SPACER, + Settings.HIDE_VISUAL_SPACERS, "cell_divider" ); 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 33652ef8fd..8e06e979b4 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 @@ -3,6 +3,7 @@ import static java.lang.Boolean.FALSE; import static java.lang.Boolean.TRUE; import static app.revanced.extension.shared.settings.Setting.parent; +import static app.revanced.extension.shared.settings.Setting.parentNot; import static app.revanced.extension.shared.settings.Setting.parentsAll; import static app.revanced.extension.shared.settings.Setting.parentsAny; import static app.revanced.extension.youtube.patches.ChangeFormFactorPatch.FormFactor; @@ -211,13 +212,14 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_ASK_SECTION = new BooleanSetting("revanced_hide_ask_section", FALSE); public static final BooleanSetting HIDE_ATTRIBUTES_SECTION = new BooleanSetting("revanced_hide_attributes_section", FALSE); public static final BooleanSetting HIDE_CHAPTERS_SECTION = new BooleanSetting("revanced_hide_chapters_section", TRUE); - public static final BooleanSetting HIDE_FEATURED_SECTION = new BooleanSetting("revanced_hide_featured_section", TRUE); public static final BooleanSetting HIDE_HOW_THIS_WAS_MADE_SECTION = new BooleanSetting("revanced_hide_how_this_was_made_section", FALSE); public static final BooleanSetting HIDE_HYPE_POINTS = new BooleanSetting("revanced_hide_hype_points", FALSE); public static final BooleanSetting HIDE_INFO_CARDS_SECTION = new BooleanSetting("revanced_hide_info_cards_section", TRUE); + public static final BooleanSetting HIDE_FEATURED_LINKS_SECTION = new BooleanSetting("revanced_hide_featured_links_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); + public static final BooleanSetting HIDE_FEATURED_VIDEOS_SECTION = new BooleanSetting("revanced_hide_featured_videos_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); + public static final BooleanSetting HIDE_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_subscribe_button", FALSE, parentNot(HIDE_INFO_CARDS_SECTION)); public static final BooleanSetting HIDE_KEY_CONCEPTS_SECTION = new BooleanSetting("revanced_hide_key_concepts_section", FALSE); public static final BooleanSetting HIDE_PODCAST_SECTION = new BooleanSetting("revanced_hide_podcast_section", TRUE); - public static final BooleanSetting HIDE_DESCRIPTION_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_description_subscribe_button", TRUE); public static final BooleanSetting HIDE_TRANSCRIPT_SECTION = new BooleanSetting("revanced_hide_transcript_section", TRUE); // Action buttons 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 f5a6ee9c4c..3a2e319d52 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 @@ -145,13 +145,14 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_ask_section"), SwitchPreference("revanced_hide_attributes_section"), SwitchPreference("revanced_hide_chapters_section"), - SwitchPreference("revanced_hide_featured_section"), + SwitchPreference("revanced_hide_featured_links_section"), + SwitchPreference("revanced_hide_featured_videos_section"), SwitchPreference("revanced_hide_info_cards_section"), SwitchPreference("revanced_hide_how_this_was_made_section"), SwitchPreference("revanced_hide_hype_points"), SwitchPreference("revanced_hide_key_concepts_section"), SwitchPreference("revanced_hide_podcast_section"), - SwitchPreference("revanced_hide_description_subscribe_button"), + SwitchPreference("revanced_hide_subscribe_button"), SwitchPreference("revanced_hide_transcript_section"), ), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 9c614af002..a141049e0c 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -349,18 +349,21 @@ If a Doodle is currently showing in your region and this hide setting is on, the Hide \'Explore the podcast\' Explore the podcast section is hidden Explore the podcast section is shown - Hide Featured content - Featured content section is hidden - Featured content section is shown + Hide Featured links + Featured links section is hidden + Featured links section is shown + Hide Featured videos + Featured videos section is hidden + Featured videos section is shown Hide Info cards Info cards section is hidden Info cards section is shown Hide \'Key concepts\' Key concepts section is hidden Key concepts section is shown - Hide Subscribe button - Subscribe button is hidden - Subscribe button is shown + Hide Subscribe button + Subscribe button is hidden + Subscribe button is shown Hide Transcript Transcript section is hidden Transcript section is shown From 1649caa8f10f8b2c5304bb0f8b8940d8fc6d0bc5 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:26:20 +0530 Subject: [PATCH 27/35] Revert "feat(YouTube - Hide Shorts components): Add "Hide live preview"" This reverts commit b323365a1857bb9ae7b6492e5438ddb1eacdb10e. --- .../youtube/patches/components/ShortsFilter.java | 9 +-------- .../revanced/extension/youtube/settings/Settings.java | 1 - .../layout/hide/shorts/HideShortsComponentsPatch.kt | 1 - .../src/main/resources/addresources/values/strings.xml | 3 --- 4 files changed, 1 insertion(+), 13 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 3710f6b085..99c07f9e24 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -161,13 +161,6 @@ public ShortsFilter() { "participation_bar.e" ); - StringFilterGroup livePreview = new StringFilterGroup( - Settings.HIDE_SHORTS_LIVE_PREVIEW, - // Live Shorts preview that can popup while scrolling through Shorts player. - // Can be removed if a way to disable live Shorts is found. - "live_preview_page_vm.e" - ); - joinButton = new StringFilterGroup( Settings.HIDE_SHORTS_JOIN_BUTTON, "sponsor_button" @@ -230,7 +223,7 @@ public ShortsFilter() { shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, - stickers, likeFountain, likeButton, dislikeButton, livePreview + stickers, likeFountain, likeButton, dislikeButton ); // 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 8e06e979b4..6316cae2eb 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 @@ -309,7 +309,6 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_SHORTS_JOIN_BUTTON = new BooleanSetting("revanced_hide_shorts_join_button", TRUE); public static final BooleanSetting HIDE_SHORTS_LIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_like_button", FALSE); public static final BooleanSetting HIDE_SHORTS_LIKE_FOUNTAIN = new BooleanSetting("revanced_hide_shorts_like_fountain", TRUE); - public static final BooleanSetting HIDE_SHORTS_LIVE_PREVIEW = new BooleanSetting("revanced_hide_shorts_live_preview", FALSE); public static final BooleanSetting HIDE_SHORTS_LOCATION_LABEL = new BooleanSetting("revanced_hide_shorts_location_label", FALSE); public static final BooleanSetting HIDE_SHORTS_NAVIGATION_BAR = new BooleanSetting("revanced_hide_shorts_navigation_bar", FALSE, true); public static final BooleanSetting HIDE_SHORTS_PAUSED_OVERLAY_BUTTONS = new BooleanSetting("revanced_hide_shorts_paused_overlay_buttons", FALSE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index 0903c4f0d5..de715d06c2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -101,7 +101,6 @@ private val hideShortsComponentsResourcePatch = resourcePatch { SwitchPreference("revanced_hide_shorts_effect_button"), SwitchPreference("revanced_hide_shorts_green_screen_button"), SwitchPreference("revanced_hide_shorts_hashtag_button"), - SwitchPreference("revanced_hide_shorts_live_preview"), SwitchPreference("revanced_hide_shorts_new_posts_button"), SwitchPreference("revanced_hide_shorts_shop_button"), SwitchPreference("revanced_hide_shorts_tagged_products"), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index a141049e0c..8983eecdd7 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -909,9 +909,6 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK Hide Join button Join button is hidden Join button is shown - Hide live preview - Live preview is hidden - Live preview is shown Hide location label Location label is hidden Location label is shown From 0199903d08e8426a26a9d144421e8064ec89f260 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:26:38 +0530 Subject: [PATCH 28/35] Revert "fix(YouTube - Hide Shorts components): Fix "Hide paid promotion label"" This reverts commit e9a1c1d8fbc547806e95c064fabb8d3a510fcdcf. --- .../extension/youtube/patches/components/ShortsFilter.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 99c07f9e24..f41f1e3a31 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -173,8 +173,7 @@ public ShortsFilter() { paidPromotionButton = new StringFilterGroup( Settings.HIDE_PAID_PROMOTION_LABEL, - "reel_player_disclosure.e", - "shorts_disclosures.e" + "reel_player_disclosure.e" ); shortsActionBar = new StringFilterGroup( From c5feb7ebb3d1c4035cc534076b3e1a4fb4eda943 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:26:42 +0530 Subject: [PATCH 29/35] Reapply "feat(YouTube - Hide Shorts components): Add "Hide disclosure tag"" This reverts commit f107279d0c6a3c30f817860752c205b3079d64a2. --- .../youtube/patches/components/ShortsFilter.java | 11 ++++++++--- .../revanced/extension/youtube/settings/Settings.java | 1 + .../layout/hide/shorts/HideShortsComponentsPatch.kt | 1 + .../main/resources/addresources/values/strings.xml | 3 +++ 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index f41f1e3a31..8c552d4056 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -117,6 +117,11 @@ public ShortsFilter() { "shorts_video_title_item" ); + StringFilterGroup shortsDisclosure = new StringFilterGroup( + Settings.HIDE_SHORTS_DISCLOSURE, + "shorts_disclosures" + ); + StringFilterGroup reelSoundMetadata = new StringFilterGroup( Settings.HIDE_SHORTS_SOUND_METADATA_LABEL, "reel_sound_metadata" @@ -220,9 +225,9 @@ public ShortsFilter() { addPathCallbacks( shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, - shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, - fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, - stickers, likeFountain, likeButton, dislikeButton + shortsActionBar, shortsDisclosure, suggestedAction, pausedOverlayButtons, channelBar, + previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, + infoPanel, stickers, likeFountain, likeButton, dislikeButton ); // 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 6316cae2eb..671c7fb2a1 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 @@ -297,6 +297,7 @@ public class Settings extends BaseSettings { public static final EnumSetting SHORTS_PLAYER_TYPE = new EnumSetting<>("revanced_shorts_player_type", ShortsPlayerType.SHORTS_PLAYER); public static final BooleanSetting HIDE_SHORTS_CHANNEL_BAR = new BooleanSetting("revanced_hide_shorts_channel_bar", FALSE); public static final BooleanSetting HIDE_SHORTS_COMMENTS_BUTTON = new BooleanSetting("revanced_hide_shorts_comments_button", FALSE); + public static final BooleanSetting HIDE_SHORTS_DISCLOSURE = new BooleanSetting("revanced_hide_shorts_disclosure", FALSE); public static final BooleanSetting HIDE_SHORTS_DISLIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_dislike_button", FALSE); public static final BooleanSetting HIDE_SHORTS_FULL_VIDEO_LINK_LABEL = new BooleanSetting("revanced_hide_shorts_full_video_link_label", FALSE); public static final BooleanSetting HIDE_SHORTS_EFFECT_BUTTON = new BooleanSetting("revanced_hide_shorts_effect_button", TRUE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index de715d06c2..046030cd0a 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -114,6 +114,7 @@ private val hideShortsComponentsResourcePatch = resourcePatch { SwitchPreference("revanced_hide_shorts_info_panel"), SwitchPreference("revanced_hide_shorts_full_video_link_label"), SwitchPreference("revanced_hide_shorts_video_title"), + SwitchPreference("revanced_hide_shorts_disclosure"), SwitchPreference("revanced_hide_shorts_sound_metadata_label"), SwitchPreference("revanced_hide_shorts_navigation_bar"), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 8983eecdd7..10a91bda55 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -980,6 +980,9 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK Hide video title Video title is hidden Video title is shown + Hide disclosure tag + Disclosure tag is hidden + Disclosure tag is shown Hide sound metadata label Sound metadata label is hidden Sound metadata label is shown From 641286ef6c3d325439682bf38c884e9785c73c01 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 02:19:06 +0530 Subject: [PATCH 30/35] Revert "feat(YouTube - Hide Shorts components): Add "Hide live preview"" This reverts commit b323365a --- .../patches/components/ShortsFilter.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 8c552d4056..3710f6b085 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -117,11 +117,6 @@ public ShortsFilter() { "shorts_video_title_item" ); - StringFilterGroup shortsDisclosure = new StringFilterGroup( - Settings.HIDE_SHORTS_DISCLOSURE, - "shorts_disclosures" - ); - StringFilterGroup reelSoundMetadata = new StringFilterGroup( Settings.HIDE_SHORTS_SOUND_METADATA_LABEL, "reel_sound_metadata" @@ -166,6 +161,13 @@ public ShortsFilter() { "participation_bar.e" ); + StringFilterGroup livePreview = new StringFilterGroup( + Settings.HIDE_SHORTS_LIVE_PREVIEW, + // Live Shorts preview that can popup while scrolling through Shorts player. + // Can be removed if a way to disable live Shorts is found. + "live_preview_page_vm.e" + ); + joinButton = new StringFilterGroup( Settings.HIDE_SHORTS_JOIN_BUTTON, "sponsor_button" @@ -178,7 +180,8 @@ public ShortsFilter() { paidPromotionButton = new StringFilterGroup( Settings.HIDE_PAID_PROMOTION_LABEL, - "reel_player_disclosure.e" + "reel_player_disclosure.e", + "shorts_disclosures.e" ); shortsActionBar = new StringFilterGroup( @@ -225,9 +228,9 @@ public ShortsFilter() { addPathCallbacks( shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, - shortsActionBar, shortsDisclosure, suggestedAction, pausedOverlayButtons, channelBar, - previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, - infoPanel, stickers, likeFountain, likeButton, dislikeButton + shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, + fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, + stickers, likeFountain, likeButton, dislikeButton, livePreview ); // From 90c9431c4c6448cf71ebea4b5787a598ffe1a9ed Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:31:16 +0530 Subject: [PATCH 31/35] Revert "feat(YouTube - Hide Shorts components): Add "Hide live preview"" This reverts commit b323365a1857bb9ae7b6492e5438ddb1eacdb10e. --- .../youtube/patches/components/ShortsFilter.java | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 3710f6b085..99c07f9e24 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -161,13 +161,6 @@ public ShortsFilter() { "participation_bar.e" ); - StringFilterGroup livePreview = new StringFilterGroup( - Settings.HIDE_SHORTS_LIVE_PREVIEW, - // Live Shorts preview that can popup while scrolling through Shorts player. - // Can be removed if a way to disable live Shorts is found. - "live_preview_page_vm.e" - ); - joinButton = new StringFilterGroup( Settings.HIDE_SHORTS_JOIN_BUTTON, "sponsor_button" @@ -230,7 +223,7 @@ public ShortsFilter() { shortsCompactFeedVideo, joinButton, subscribeButton, paidPromotionButton, shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar, previewComment, fullVideoLinkLabel, videoTitle, useSoundButton, reelSoundMetadata, soundButton, infoPanel, - stickers, likeFountain, likeButton, dislikeButton, livePreview + stickers, likeFountain, likeButton, dislikeButton ); // From ddbc465451d74a15f065efd6a02ea311333ab581 Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:31:49 +0530 Subject: [PATCH 32/35] Revert "Reapply "feat(YouTube - Hide Shorts components): Add "Hide disclosure tag""" This reverts commit 5313b10e4329417bf69d22568040c8d77e11d50f. --- .../java/app/revanced/extension/youtube/settings/Settings.java | 1 - .../youtube/layout/hide/shorts/HideShortsComponentsPatch.kt | 1 - patches/src/main/resources/addresources/values/strings.xml | 3 --- 3 files changed, 5 deletions(-) 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 671c7fb2a1..6316cae2eb 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 @@ -297,7 +297,6 @@ public class Settings extends BaseSettings { public static final EnumSetting SHORTS_PLAYER_TYPE = new EnumSetting<>("revanced_shorts_player_type", ShortsPlayerType.SHORTS_PLAYER); public static final BooleanSetting HIDE_SHORTS_CHANNEL_BAR = new BooleanSetting("revanced_hide_shorts_channel_bar", FALSE); public static final BooleanSetting HIDE_SHORTS_COMMENTS_BUTTON = new BooleanSetting("revanced_hide_shorts_comments_button", FALSE); - public static final BooleanSetting HIDE_SHORTS_DISCLOSURE = new BooleanSetting("revanced_hide_shorts_disclosure", FALSE); public static final BooleanSetting HIDE_SHORTS_DISLIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_dislike_button", FALSE); public static final BooleanSetting HIDE_SHORTS_FULL_VIDEO_LINK_LABEL = new BooleanSetting("revanced_hide_shorts_full_video_link_label", FALSE); public static final BooleanSetting HIDE_SHORTS_EFFECT_BUTTON = new BooleanSetting("revanced_hide_shorts_effect_button", TRUE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index 046030cd0a..de715d06c2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -114,7 +114,6 @@ private val hideShortsComponentsResourcePatch = resourcePatch { SwitchPreference("revanced_hide_shorts_info_panel"), SwitchPreference("revanced_hide_shorts_full_video_link_label"), SwitchPreference("revanced_hide_shorts_video_title"), - SwitchPreference("revanced_hide_shorts_disclosure"), SwitchPreference("revanced_hide_shorts_sound_metadata_label"), SwitchPreference("revanced_hide_shorts_navigation_bar"), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 10a91bda55..8983eecdd7 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -980,9 +980,6 @@ To show the Audio track menu, change \'Spoof video streams\' to \'Android No SDK Hide video title Video title is hidden Video title is shown - Hide disclosure tag - Disclosure tag is hidden - Disclosure tag is shown Hide sound metadata label Sound metadata label is hidden Sound metadata label is shown From fbcaa6deda6bf35aa9c6b7564e8483dce8edaf4d Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Wed, 3 Dec 2025 04:33:09 +0530 Subject: [PATCH 33/35] Revert "fix(YouTube - Hide Shorts components): Fix "Hide paid promotion label"" This reverts commit e9a1c1d8fbc547806e95c064fabb8d3a510fcdcf. --- .../extension/youtube/patches/components/ShortsFilter.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 99c07f9e24..f41f1e3a31 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -173,8 +173,7 @@ public ShortsFilter() { paidPromotionButton = new StringFilterGroup( Settings.HIDE_PAID_PROMOTION_LABEL, - "reel_player_disclosure.e", - "shorts_disclosures.e" + "reel_player_disclosure.e" ); shortsActionBar = new StringFilterGroup( From 92b8896fb9a129ca0e26fbdde5c98cd8d7b6089f Mon Sep 17 00:00:00 2001 From: ILoveOpenSouceApplications Date: Thu, 4 Dec 2025 00:38:45 +0530 Subject: [PATCH 34/35] Rename "Hide visual spacers" to "Hide cell divider" --- .../patches/components/LayoutComponentsFilter.java | 14 +++++++------- .../extension/youtube/settings/Settings.java | 2 +- .../hide/general/HideLayoutComponentsPatch.kt | 4 ++-- .../main/resources/addresources/values/strings.xml | 6 +++--- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index 8e78c4744f..9aaec7460f 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -63,19 +63,19 @@ public LayoutComponentsFilter() { // Identifiers. + final var cellDivider = new StringFilterGroup( + Settings.HIDE_CELL_DIVIDER, + "cell_divider" + ); + final var chipsShelf = new StringFilterGroup( Settings.HIDE_CHIPS_SHELF, "chips_shelf" ); - final var visualSpacers = new StringFilterGroup( - Settings.HIDE_VISUAL_SPACERS, - "cell_divider" - ); - addIdentifierCallbacks( - chipsShelf, - visualSpacers + cellDivider, + chipsShelf ); // Paths. 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 6316cae2eb..38e83826ae 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 @@ -93,6 +93,7 @@ public class Settings extends BaseSettings { // Feed public static final BooleanSetting HIDE_ALBUM_CARDS = new BooleanSetting("revanced_hide_album_cards", FALSE, true); public static final BooleanSetting HIDE_ARTIST_CARDS = new BooleanSetting("revanced_hide_artist_cards", FALSE); + public static final BooleanSetting HIDE_CELL_DIVIDER = new BooleanSetting("revanced_hide_cell_divider", TRUE); public static final BooleanSetting HIDE_CHIPS_SHELF = new BooleanSetting("revanced_hide_chips_shelf", TRUE); public static final BooleanSetting HIDE_COMMUNITY_POSTS = new BooleanSetting("revanced_hide_community_posts", FALSE); public static final BooleanSetting HIDE_COMPACT_BANNER = new BooleanSetting("revanced_hide_compact_banner", TRUE); @@ -116,7 +117,6 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_UPLOAD_TIME = new BooleanSetting("revanced_hide_upload_time", FALSE, "revanced_hide_upload_time_user_dialog_message"); public static final BooleanSetting HIDE_VIDEO_RECOMMENDATION_LABELS = new BooleanSetting("revanced_hide_video_recommendation_labels", TRUE); public static final BooleanSetting HIDE_VIEW_COUNT = new BooleanSetting("revanced_hide_view_count", FALSE, "revanced_hide_view_count_user_dialog_message"); - public static final BooleanSetting HIDE_VISUAL_SPACERS = new BooleanSetting("revanced_hide_visual_spacers", TRUE); // Alternative thumbnails public static final EnumSetting ALT_THUMBNAIL_HOME = new EnumSetting<>("revanced_alt_thumbnail_home", ThumbnailOption.ORIGINAL); 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 3a2e319d52..b05c907908 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 @@ -224,10 +224,11 @@ val hideLayoutComponentsPatch = bytecodePatch( ), SwitchPreference("revanced_hide_album_cards"), SwitchPreference("revanced_hide_artist_cards"), + SwitchPreference("revanced_hide_cell_divider"), + SwitchPreference("revanced_hide_chips_shelf"), SwitchPreference("revanced_hide_community_posts"), SwitchPreference("revanced_hide_compact_banner"), SwitchPreference("revanced_hide_crowdfunding_box"), - SwitchPreference("revanced_hide_chips_shelf"), SwitchPreference("revanced_hide_expandable_card"), SwitchPreference("revanced_hide_floating_microphone_button"), SwitchPreference( @@ -246,7 +247,6 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_upload_time"), SwitchPreference("revanced_hide_video_recommendation_labels"), SwitchPreference("revanced_hide_view_count"), - SwitchPreference("revanced_hide_visual_spacers"), SwitchPreference("revanced_hide_doodles"), ) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 8983eecdd7..e7ff56d891 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -223,6 +223,9 @@ However, enabling this will also log some user data such as your IP address."Hide artist cards Artist cards are hidden Artist cards are shown + Hide cell divider + Cell divider is hidden + Cell divider is shown Hide chips shelf Chips shelf is hidden Chips shelf is shown @@ -286,9 +289,6 @@ However, enabling this will also log some user data such as your IP address."Hide video recommendation labels \'People also watched\' and \'You might also like\' labels in search results are hidden \'People also watched\' and \'You might also like\' labels in search results are shown - Hide visual spacers - Visual spacers are hidden - Visual spacers are shown Hide YouTube Doodles YouTube Doodles animation on the logo is hidden From 0baec54f4369203e72a93f7401492dec602a108e Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Mon, 8 Dec 2025 13:01:55 +0100 Subject: [PATCH 35/35] Apply suggestion from @oSumAtrIX --- patches/src/main/resources/addresources/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index e7ff56d891..b8da1a550e 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -224,8 +224,8 @@ However, enabling this will also log some user data such as your IP address."Artist cards are hidden Artist cards are shown Hide cell divider - Cell divider is hidden - Cell divider is shown + Cell divider (Visual space) is hidden + Cell divider (Visual space) is shown Hide chips shelf Chips shelf is hidden Chips shelf is shown