This commit is contained in:
gdlbo
2024-02-22 17:06:23 +03:00
parent 4341804732
commit 18c73d4e48
2 changed files with 18 additions and 14 deletions
@@ -53,6 +53,7 @@ public final class AdMarkHolder extends BaseNewsEntryHolder<NewsEntry> {
this.F.setOnClickListener(listener -> voteDialog(ownerId, postId, date, this.F.getContext()));
} else if (NewsFeedFiltersUtils.sponsorFilters(text)) {
disclamer = "SponsorPost: Заблокировано фильтрами";
this.F.setOnClickListener(listener -> AndroidUtils.sendToast("Заблокировано по выражению: " + NewsFeedFiltersUtils.sponsorFiltersBanWord(text)));
} else {
disclamer = m(R.string.sponsored_post_in_group);
}
@@ -300,26 +300,29 @@ public class NewsFeedFiltersUtils {
public static boolean sponsorFilters(String text) {
String textInLowerCase = text.toLowerCase();
Set<String> list = filters.stream()
.filter(adword -> !adword.isEmpty())
.collect(Collectors.toSet());
if (!list.isEmpty()) {
return list.stream().anyMatch(adword -> {
if (textInLowerCase.contains(adword.toLowerCase())) {
return filters.stream()
.map(String::toLowerCase)
.filter(adword -> !adword.isEmpty() && textInLowerCase.contains(adword))
.peek(adword -> {
if (dev()) {
Log.d("NewsfeedAdBlockV2", text);
Log.d("NewsfeedAdBlockV2", "Block word: " + adword);
}
return true;
}
return false;
});
}
return false;
})
.findAny()
.isPresent();
}
public static String sponsorFiltersBanWord(String text) {
String textInLowerCase = text.toLowerCase();
return filters.stream()
.map(String::toLowerCase)
.filter(adword -> !adword.isEmpty() && textInLowerCase.contains(adword))
.findAny()
.orElse(null);
}
public static void parseStoriesItem(JSONObject item) throws JSONException {
JSONArray stories = item.optJSONArray("stories");
JSONArray newStories = new JSONArray();