mirror of
https://github.com/revanced/revanced-integrations.git
synced 2025-02-01 14:47:32 +01:00
refactor(youtube): properly separate litho filter patches
This commit is contained in:
parent
22bc4405cf
commit
695c59efd4
@ -111,7 +111,8 @@ final class LithoBlockRegister implements Iterable<BlockRule> {
|
|||||||
public final class LithoFilterPatch {
|
public final class LithoFilterPatch {
|
||||||
private static final Filter[] filters = new Filter[]{
|
private static final Filter[] filters = new Filter[]{
|
||||||
new GeneralBytecodeAdsPatch(),
|
new GeneralBytecodeAdsPatch(),
|
||||||
new ButtonsPatch()
|
new ButtonsPatch(),
|
||||||
|
new CommentsPatch(),
|
||||||
};
|
};
|
||||||
|
|
||||||
public static boolean filter(final StringBuilder pathBuilder, final String identifier) {
|
public static boolean filter(final StringBuilder pathBuilder, final String identifier) {
|
||||||
@ -128,6 +129,33 @@ public final class LithoFilterPatch {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final class CommentsPatch extends Filter {
|
||||||
|
|
||||||
|
public CommentsPatch() {
|
||||||
|
var comments = new BlockRule(SettingsEnum.HIDE_COMMENTS_SECTION, "video_metadata_carousel", "_comments");
|
||||||
|
var previewComment = new BlockRule(
|
||||||
|
SettingsEnum.HIDE_PREVIEW_COMMENT,
|
||||||
|
"carousel_item",
|
||||||
|
"comments_entry_point_teaser",
|
||||||
|
"comments_entry_point_simplebox"
|
||||||
|
);
|
||||||
|
|
||||||
|
this.register.registerAll(
|
||||||
|
comments,
|
||||||
|
previewComment
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
boolean filter(String path, String _identifier) {
|
||||||
|
if (!Extensions.any(register, path)) return false;
|
||||||
|
|
||||||
|
LogHelper.debug(CommentsPatch.class, "Blocked: " + path);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
final class ButtonsPatch extends Filter {
|
final class ButtonsPatch extends Filter {
|
||||||
private final BlockRule actionButtonsRule;
|
private final BlockRule actionButtonsRule;
|
||||||
private final BlockRule dislikeRule;
|
private final BlockRule dislikeRule;
|
||||||
@ -184,7 +212,7 @@ final class ButtonsPatch extends Filter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class GeneralBytecodeAdsPatch extends Filter {
|
final class GeneralBytecodeAdsPatch extends Filter {
|
||||||
private final BlockRule identifierBlock;
|
private final BlockRule identifierBlock;
|
||||||
|
|
||||||
public GeneralBytecodeAdsPatch() {
|
public GeneralBytecodeAdsPatch() {
|
||||||
@ -200,13 +228,6 @@ class GeneralBytecodeAdsPatch extends Filter {
|
|||||||
var suggestions = new BlockRule(SettingsEnum.ADREMOVER_SUGGESTIONS_REMOVAL, "horizontal_video_shelf");
|
var suggestions = new BlockRule(SettingsEnum.ADREMOVER_SUGGESTIONS_REMOVAL, "horizontal_video_shelf");
|
||||||
var latestPosts = new BlockRule(SettingsEnum.ADREMOVER_HIDE_LATEST_POSTS, "post_shelf");
|
var latestPosts = new BlockRule(SettingsEnum.ADREMOVER_HIDE_LATEST_POSTS, "post_shelf");
|
||||||
var channelGuidelines = new BlockRule(SettingsEnum.ADREMOVER_HIDE_CHANNEL_GUIDELINES, "channel_guidelines_entry_banner");
|
var channelGuidelines = new BlockRule(SettingsEnum.ADREMOVER_HIDE_CHANNEL_GUIDELINES, "channel_guidelines_entry_banner");
|
||||||
var comments = new BlockRule(SettingsEnum.HIDE_COMMENTS_SECTION, "video_metadata_carousel", "_comments");
|
|
||||||
var previewComment = new BlockRule(
|
|
||||||
SettingsEnum.HIDE_PREVIEW_COMMENT,
|
|
||||||
"carousel_item",
|
|
||||||
"comments_entry_point_teaser",
|
|
||||||
"comments_entry_point_simplebox"
|
|
||||||
);
|
|
||||||
|
|
||||||
var artistCard = new BlockRule(SettingsEnum.HIDE_ARTIST_CARD, "official_card");
|
var artistCard = new BlockRule(SettingsEnum.HIDE_ARTIST_CARD, "official_card");
|
||||||
var generalAds = new BlockRule(
|
var generalAds = new BlockRule(
|
||||||
@ -240,7 +261,6 @@ class GeneralBytecodeAdsPatch extends Filter {
|
|||||||
suggestions,
|
suggestions,
|
||||||
latestPosts,
|
latestPosts,
|
||||||
movieAds,
|
movieAds,
|
||||||
comments,
|
|
||||||
communityGuidelines,
|
communityGuidelines,
|
||||||
compactBanner,
|
compactBanner,
|
||||||
inFeedSurvey,
|
inFeedSurvey,
|
||||||
@ -248,7 +268,6 @@ class GeneralBytecodeAdsPatch extends Filter {
|
|||||||
merchandise,
|
merchandise,
|
||||||
infoPanel,
|
infoPanel,
|
||||||
channelGuidelines,
|
channelGuidelines,
|
||||||
previewComment,
|
|
||||||
artistCard
|
artistCard
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -273,20 +292,11 @@ class GeneralBytecodeAdsPatch extends Filter {
|
|||||||
"playlist_add_to_option_wrapper" // do not block on "add to playlist" flyout menu
|
"playlist_add_to_option_wrapper" // do not block on "add to playlist" flyout menu
|
||||||
)) return false;
|
)) return false;
|
||||||
|
|
||||||
for (var rule : register) {
|
if (!Extensions.any(register, path) && !identifierBlock.check(identifier).isBlocked())
|
||||||
if (!rule.isEnabled()) continue;
|
return false;
|
||||||
|
|
||||||
var result = rule.check(path);
|
LogHelper.debug(GeneralBytecodeAdsPatch.class, "Blocked: " + path);
|
||||||
if (result.isBlocked()) {
|
|
||||||
LogHelper.debug(GeneralBytecodeAdsPatch.class, "Blocked: " + path);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (identifierBlock.check(identifier).isBlocked()) {
|
return true;
|
||||||
LogHelper.debug(GeneralBytecodeAdsPatch.class, "Blocked: " + identifier);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user