From e28b8cc59a445ba8f184ba6f5b9e076b7731129a Mon Sep 17 00:00:00 2001 From: nullptr <107796137+johnconner122@users.noreply.github.com> Date: Mon, 25 Dec 2023 20:51:43 +0000 Subject: [PATCH] fix(YouTube - Hide ads): Hide new type of ad (#545) Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Co-authored-by: oSumAtrIX --- .../integrations/patches/components/AdsFilter.java | 8 +++++++- .../patches/components/LayoutComponentsFilter.java | 10 +++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) 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 edf7063b..715b0257 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 @@ -3,8 +3,11 @@ package app.revanced.integrations.patches.components; import android.app.Instrumentation; import android.view.KeyEvent; import android.view.View; + import androidx.annotation.Nullable; + import app.revanced.integrations.settings.SettingsEnum; +import app.revanced.integrations.utils.LogHelper; import app.revanced.integrations.utils.ReVancedUtils; import app.revanced.integrations.utils.StringTrieSearch; @@ -52,7 +55,8 @@ public final class AdsFilter extends Filter { "_ad_with", "text_image_button_group_layout", "video_display_button_group_layout", - "landscape_image_wide_button_layout" + "landscape_image_wide_button_layout", + "video_display_carousel_button_group_layout" ); final var generalAds = new StringFilterGroup( @@ -160,6 +164,8 @@ public final class AdsFilter extends Filter { if (currentTime - lastTimeClosedFullscreenAd < 10000) return; lastTimeClosedFullscreenAd = currentTime; + LogHelper.printDebug(() -> "Closing fullscreen ad"); + ReVancedUtils.runOnMainThreadDelayed(() -> instrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK), 1000); } } diff --git a/app/src/main/java/app/revanced/integrations/patches/components/LayoutComponentsFilter.java b/app/src/main/java/app/revanced/integrations/patches/components/LayoutComponentsFilter.java index cb7ab0a3..db088ad6 100644 --- a/app/src/main/java/app/revanced/integrations/patches/components/LayoutComponentsFilter.java +++ b/app/src/main/java/app/revanced/integrations/patches/components/LayoutComponentsFilter.java @@ -43,6 +43,7 @@ public final class LayoutComponentsFilter extends Filter { exceptions.addPatterns( "home_video_with_context", "related_video_with_context", + "search_video_with_context", "comment_thread", // Whitelist comments "|comment.", // Whitelist comment replies "library_recent_shelf" @@ -252,9 +253,12 @@ public final class LayoutComponentsFilter extends Filter { @Override public boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray, StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) { - if (matchedGroup == searchResultVideo) - return searchResultRecommendations.check(protobufBufferArray).isFiltered(); - + if (matchedGroup == searchResultVideo) { + if (searchResultRecommendations.check(protobufBufferArray).isFiltered()) { + return super.isFiltered(identifier, path, protobufBufferArray, matchedGroup, contentType, contentIndex); + } + } + // The groups are excluded from the filter due to the exceptions list below. // Filter them separately here. if (matchedGroup == notifyMe || matchedGroup == inFeedSurvey || matchedGroup == expandableMetadata)