mirror of
https://github.com/revanced/revanced-integrations.git
synced 2024-11-08 05:07:02 +01:00
feat(YouTube - Hide ads): Add option to hide the 'Visit store' button on channel pages (#622)
This commit is contained in:
parent
a9da29926a
commit
9de566ca02
@ -23,6 +23,10 @@ public final class AdsFilter extends Filter {
|
|||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
private final StringTrieSearch exceptions = new StringTrieSearch();
|
private final StringTrieSearch exceptions = new StringTrieSearch();
|
||||||
|
|
||||||
|
private final StringFilterGroup channelProfile;
|
||||||
|
private final ByteArrayFilterGroup visitStoreButton;
|
||||||
|
|
||||||
private final StringFilterGroup shoppingLinks;
|
private final StringFilterGroup shoppingLinks;
|
||||||
|
|
||||||
public AdsFilter() {
|
public AdsFilter() {
|
||||||
@ -100,6 +104,16 @@ public final class AdsFilter extends Filter {
|
|||||||
"expandable_list"
|
"expandable_list"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
channelProfile = new StringFilterGroup(
|
||||||
|
null,
|
||||||
|
"channel_profile.eml"
|
||||||
|
);
|
||||||
|
|
||||||
|
visitStoreButton = new ByteArrayFilterGroup(
|
||||||
|
Settings.HIDE_VISIT_STORE_BUTTON,
|
||||||
|
"header_store_button"
|
||||||
|
);
|
||||||
|
|
||||||
final var webLinkPanel = new StringFilterGroup(
|
final var webLinkPanel = new StringFilterGroup(
|
||||||
Settings.HIDE_WEB_SEARCH_RESULTS,
|
Settings.HIDE_WEB_SEARCH_RESULTS,
|
||||||
"web_link_panel"
|
"web_link_panel"
|
||||||
@ -122,6 +136,7 @@ public final class AdsFilter extends Filter {
|
|||||||
viewProducts,
|
viewProducts,
|
||||||
selfSponsor,
|
selfSponsor,
|
||||||
fullscreenAd,
|
fullscreenAd,
|
||||||
|
channelProfile,
|
||||||
webLinkPanel,
|
webLinkPanel,
|
||||||
shoppingLinks,
|
shoppingLinks,
|
||||||
movieAds
|
movieAds
|
||||||
@ -140,6 +155,13 @@ public final class AdsFilter extends Filter {
|
|||||||
return false; // Do not actually filter the fullscreen ad otherwise it will leave a dimmed screen.
|
return false; // Do not actually filter the fullscreen ad otherwise it will leave a dimmed screen.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (matchedGroup == channelProfile) {
|
||||||
|
if (visitStoreButton.check(protobufBufferArray).isFiltered()) {
|
||||||
|
return super.isFiltered(identifier, path, protobufBufferArray, matchedGroup, contentType, contentIndex);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Check for the index because of likelihood of false positives.
|
// Check for the index because of likelihood of false positives.
|
||||||
if (matchedGroup == shoppingLinks && contentIndex != 0)
|
if (matchedGroup == shoppingLinks && contentIndex != 0)
|
||||||
return false;
|
return false;
|
||||||
|
@ -45,6 +45,7 @@ public class Settings extends BaseSettings {
|
|||||||
public static final BooleanSetting HIDE_SHOPPING_LINKS = new BooleanSetting("revanced_hide_shopping_links", TRUE);
|
public static final BooleanSetting HIDE_SHOPPING_LINKS = new BooleanSetting("revanced_hide_shopping_links", TRUE);
|
||||||
public static final BooleanSetting HIDE_SELF_SPONSOR = new BooleanSetting("revanced_hide_self_sponsor_ads", TRUE);
|
public static final BooleanSetting HIDE_SELF_SPONSOR = new BooleanSetting("revanced_hide_self_sponsor_ads", TRUE);
|
||||||
public static final BooleanSetting HIDE_VIDEO_ADS = new BooleanSetting("revanced_hide_video_ads", TRUE, true);
|
public static final BooleanSetting HIDE_VIDEO_ADS = new BooleanSetting("revanced_hide_video_ads", TRUE, true);
|
||||||
|
public static final BooleanSetting HIDE_VISIT_STORE_BUTTON = new BooleanSetting("revanced_hide_visit_store_button", TRUE);
|
||||||
public static final BooleanSetting HIDE_WEB_SEARCH_RESULTS = new BooleanSetting("revanced_hide_web_search_results", TRUE);
|
public static final BooleanSetting HIDE_WEB_SEARCH_RESULTS = new BooleanSetting("revanced_hide_web_search_results", TRUE);
|
||||||
|
|
||||||
// Feed
|
// Feed
|
||||||
|
Loading…
Reference in New Issue
Block a user