From 11e7c04b707d86901809db3b4f427a0155787177 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Thu, 23 Nov 2023 01:17:46 +0100 Subject: [PATCH] feat(YouTube - Hide ads): Hide shopping links in video description --- .../integrations/patches/components/AdsFilter.java | 11 +++++++++++ .../revanced/integrations/settings/SettingsEnum.java | 1 + 2 files changed, 12 insertions(+) diff --git a/app/src/main/java/app/revanced/integrations/patches/components/AdsFilter.java b/app/src/main/java/app/revanced/integrations/patches/components/AdsFilter.java index 40192d0d..5868596d 100644 --- a/app/src/main/java/app/revanced/integrations/patches/components/AdsFilter.java +++ b/app/src/main/java/app/revanced/integrations/patches/components/AdsFilter.java @@ -12,6 +12,7 @@ import app.revanced.integrations.utils.StringTrieSearch; public final class AdsFilter extends Filter { private final StringTrieSearch exceptions = new StringTrieSearch(); + private final StringFilterGroup shoppingLinks; public AdsFilter() { exceptions.addPatterns( @@ -71,6 +72,11 @@ public final class AdsFilter extends Filter { "products_in_video" ); + shoppingLinks = new StringFilterGroup( + SettingsEnum.HIDE_SHOPPING_LINKS, + "expandable_list" + ); + final var webLinkPanel = new StringFilterGroup( SettingsEnum.HIDE_WEB_SEARCH_RESULTS, "web_link_panel" @@ -93,6 +99,7 @@ public final class AdsFilter extends Filter { viewProducts, selfSponsor, webLinkPanel, + shoppingLinks, movieAds ); this.identifierFilterGroupList.addAll(carouselAd); @@ -104,6 +111,10 @@ public final class AdsFilter extends Filter { if (exceptions.matches(path)) return false; + // Check for the index because of likelihood of false positives. + if (matchedGroup == shoppingLinks && matchedIndex != 0) + return false; + return super.isFiltered(identifier, path, protobufBufferArray, matchedList, matchedGroup, matchedIndex); } diff --git a/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java b/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java index 285b8125..e4b9550a 100644 --- a/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java +++ b/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java @@ -50,6 +50,7 @@ public enum SettingsEnum { HIDE_MERCHANDISE_BANNERS("revanced_hide_merchandise_banners", BOOLEAN, TRUE), HIDE_PAID_CONTENT("revanced_hide_paid_content_ads", BOOLEAN, TRUE), HIDE_PRODUCTS_BANNER("revanced_hide_products_banner", BOOLEAN, TRUE), + HIDE_SHOPPING_LINKS("revanced_hide_shopping_links", BOOLEAN, TRUE), HIDE_SELF_SPONSOR("revanced_hide_self_sponsor_ads", BOOLEAN, TRUE), HIDE_VIDEO_ADS("revanced_hide_video_ads", BOOLEAN, TRUE, true), HIDE_WEB_SEARCH_RESULTS("revanced_hide_web_search_results", BOOLEAN, TRUE),