Skip to content

Commit 0cea334

Browse files
feat(YouTube - Hide layout components): Added "Hide Featured links" and "Hide Featured videos" options and linked them to "Hide Info cards"
1 parent b323365 commit 0cea334

File tree

6 files changed

+45
-17
lines changed

6 files changed

+45
-17
lines changed

extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,23 @@ public List<Setting<?>> getParentSettings() {
5858
};
5959
}
6060

61+
/**
62+
* Availability based on a single parent setting being disabled.
63+
*/
64+
public static Availability parentNot(BooleanSetting parent) {
65+
return new Availability() {
66+
@Override
67+
public boolean isAvailable() {
68+
return !parent.get();
69+
}
70+
71+
@Override
72+
public List<Setting<?>> getParentSettings() {
73+
return Collections.singletonList(parent);
74+
}
75+
};
76+
}
77+
6178
/**
6279
* Availability based on all parents being enabled.
6380
*/

extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,14 @@ public DescriptionComponentsFilter() {
4444
"video_attributes_section"
4545
);
4646

47-
final StringFilterGroup featuredSection = new StringFilterGroup(
48-
Settings.HIDE_FEATURED_SECTION,
49-
// "media_lockup", "structured_description_video_lockup"
50-
"compact_infocard"
47+
final StringFilterGroup featuredLinksSection = new StringFilterGroup(
48+
Settings.HIDE_FEATURED_LINKS_SECTION,
49+
"media_lockup"
50+
);
51+
52+
final StringFilterGroup featuredVideosSection = new StringFilterGroup(
53+
Settings.HIDE_FEATURED_VIDEOS_SECTION,
54+
"structured_description_video_lockup"
5155
);
5256

5357
final StringFilterGroup podcastSection = new StringFilterGroup(
@@ -76,7 +80,7 @@ public DescriptionComponentsFilter() {
7680
);
7781

7882
subscribeButton = new StringFilterGroup(
79-
Settings.HIDE_DESCRIPTION_SUBSCRIBE_BUTTON,
83+
Settings.HIDE_SUBSCRIBE_BUTTON,
8084
"subscribe_button"
8185
);
8286

@@ -110,7 +114,8 @@ public DescriptionComponentsFilter() {
110114
aiGeneratedVideoSummarySection,
111115
askSection,
112116
attributesSection,
113-
featuredSection,
117+
featuredLinksSection,
118+
featuredVideosSection,
114119
horizontalShelf,
115120
howThisWasMadeSection,
116121
hypePoints,

extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public LayoutComponentsFilter() {
6969
);
7070

7171
final var visualSpacers = new StringFilterGroup(
72-
Settings.HIDE_VISUAL_SPACER,
72+
Settings.HIDE_VISUAL_SPACERS,
7373
"cell_divider"
7474
);
7575

extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static java.lang.Boolean.FALSE;
44
import static java.lang.Boolean.TRUE;
55
import static app.revanced.extension.shared.settings.Setting.parent;
6+
import static app.revanced.extension.shared.settings.Setting.parentNot;
67
import static app.revanced.extension.shared.settings.Setting.parentsAll;
78
import static app.revanced.extension.shared.settings.Setting.parentsAny;
89
import static app.revanced.extension.youtube.patches.ChangeFormFactorPatch.FormFactor;
@@ -211,13 +212,14 @@ public class Settings extends BaseSettings {
211212
public static final BooleanSetting HIDE_ASK_SECTION = new BooleanSetting("revanced_hide_ask_section", FALSE);
212213
public static final BooleanSetting HIDE_ATTRIBUTES_SECTION = new BooleanSetting("revanced_hide_attributes_section", FALSE);
213214
public static final BooleanSetting HIDE_CHAPTERS_SECTION = new BooleanSetting("revanced_hide_chapters_section", TRUE);
214-
public static final BooleanSetting HIDE_FEATURED_SECTION = new BooleanSetting("revanced_hide_featured_section", TRUE);
215215
public static final BooleanSetting HIDE_HOW_THIS_WAS_MADE_SECTION = new BooleanSetting("revanced_hide_how_this_was_made_section", FALSE);
216216
public static final BooleanSetting HIDE_HYPE_POINTS = new BooleanSetting("revanced_hide_hype_points", FALSE);
217217
public static final BooleanSetting HIDE_INFO_CARDS_SECTION = new BooleanSetting("revanced_hide_info_cards_section", TRUE);
218+
public static final BooleanSetting HIDE_FEATURED_LINKS_SECTION = new BooleanSetting("revanced_hide_featured_links_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION));
219+
public static final BooleanSetting HIDE_FEATURED_VIDEOS_SECTION = new BooleanSetting("revanced_hide_featured_videos_section", FALSE, parentNot(HIDE_INFO_CARDS_SECTION));
220+
public static final BooleanSetting HIDE_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_subscribe_button", FALSE, parentNot(HIDE_INFO_CARDS_SECTION));
218221
public static final BooleanSetting HIDE_KEY_CONCEPTS_SECTION = new BooleanSetting("revanced_hide_key_concepts_section", FALSE);
219222
public static final BooleanSetting HIDE_PODCAST_SECTION = new BooleanSetting("revanced_hide_podcast_section", TRUE);
220-
public static final BooleanSetting HIDE_DESCRIPTION_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_description_subscribe_button", TRUE);
221223
public static final BooleanSetting HIDE_TRANSCRIPT_SECTION = new BooleanSetting("revanced_hide_transcript_section", TRUE);
222224

223225
// Action buttons

patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,13 +145,14 @@ val hideLayoutComponentsPatch = bytecodePatch(
145145
SwitchPreference("revanced_hide_ask_section"),
146146
SwitchPreference("revanced_hide_attributes_section"),
147147
SwitchPreference("revanced_hide_chapters_section"),
148-
SwitchPreference("revanced_hide_featured_section"),
148+
SwitchPreference("revanced_hide_featured_links_section"),
149+
SwitchPreference("revanced_hide_featured_videos_section"),
149150
SwitchPreference("revanced_hide_info_cards_section"),
150151
SwitchPreference("revanced_hide_how_this_was_made_section"),
151152
SwitchPreference("revanced_hide_hype_points"),
152153
SwitchPreference("revanced_hide_key_concepts_section"),
153154
SwitchPreference("revanced_hide_podcast_section"),
154-
SwitchPreference("revanced_hide_description_subscribe_button"),
155+
SwitchPreference("revanced_hide_subscribe_button"),
155156
SwitchPreference("revanced_hide_transcript_section"),
156157
),
157158
),

patches/src/main/resources/addresources/values/strings.xml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -349,18 +349,21 @@ If a Doodle is currently showing in your region and this hide setting is on, the
349349
<string name="revanced_hide_podcast_section_title">Hide \'Explore the podcast\'</string>
350350
<string name="revanced_hide_podcast_section_summary_on">Explore the podcast section is hidden</string>
351351
<string name="revanced_hide_podcast_section_summary_off">Explore the podcast section is shown</string>
352-
<string name="revanced_hide_featured_section_title">Hide Featured content</string>
353-
<string name="revanced_hide_featured_section_summary_on">Featured content section is hidden</string>
354-
<string name="revanced_hide_featured_section_summary_off">Featured content section is shown</string>
352+
<string name="revanced_hide_featured_links_section_title">Hide Featured links</string>
353+
<string name="revanced_hide_featured_links_section_summary_on">Featured links section is hidden</string>
354+
<string name="revanced_hide_featured_links_section_summary_off">Featured links section is shown</string>
355+
<string name="revanced_hide_featured_videos_section_title">Hide Featured videos</string>
356+
<string name="revanced_hide_featured_videos_section_summary_on">Featured videos section is hidden</string>
357+
<string name="revanced_hide_featured_videos_section_summary_off">Featured videos section is shown</string>
355358
<string name="revanced_hide_info_cards_section_title">Hide Info cards</string>
356359
<string name="revanced_hide_info_cards_section_summary_on">Info cards section is hidden</string>
357360
<string name="revanced_hide_info_cards_section_summary_off">Info cards section is shown</string>
358361
<string name="revanced_hide_key_concepts_section_title">Hide \'Key concepts\'</string>
359362
<string name="revanced_hide_key_concepts_section_summary_on">Key concepts section is hidden</string>
360363
<string name="revanced_hide_key_concepts_section_summary_off">Key concepts section is shown</string>
361-
<string name="revanced_hide_description_subscribe_button_title">Hide Subscribe button</string>
362-
<string name="revanced_hide_description_subscribe_button_summary_on">Subscribe button is hidden</string>
363-
<string name="revanced_hide_description_subscribe_button_summary_off">Subscribe button is shown</string>
364+
<string name="revanced_hide_subscribe_button_title">Hide Subscribe button</string>
365+
<string name="revanced_hide_subscribe_button_summary_on">Subscribe button is hidden</string>
366+
<string name="revanced_hide_subscribe_button_summary_off">Subscribe button is shown</string>
364367
<string name="revanced_hide_transcript_section_title">Hide Transcript</string>
365368
<string name="revanced_hide_transcript_section_summary_on">Transcript section is hidden</string>
366369
<string name="revanced_hide_transcript_section_summary_off">Transcript section is shown</string>

0 commit comments

Comments
 (0)