From 0ee99fa709b6c41c9689e50c890c791d73f13cfc Mon Sep 17 00:00:00 2001 From: LucasGGamerM Date: Fri, 3 Feb 2023 15:24:36 -0300 Subject: [PATCH] Now the filter context finally makes sense! --- .../android/ui/displayitems/StatusDisplayItem.java | 2 +- .../org/joinmastodon/android/utils/StatusFilterPredicate.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/StatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/StatusDisplayItem.java index 1f063977b..f211a239c 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/StatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/StatusDisplayItem.java @@ -105,7 +105,7 @@ public abstract class StatusDisplayItem{ StatusFilterPredicate filterPredicate = new StatusFilterPredicate(filters); if(!statusForContent.filterRevealed){ - statusForContent.filterRevealed = filterPredicate.testWithWarning(status); + statusForContent.filterRevealed = filterPredicate.testWithWarning(status, filterContext); } diff --git a/mastodon/src/main/java/org/joinmastodon/android/utils/StatusFilterPredicate.java b/mastodon/src/main/java/org/joinmastodon/android/utils/StatusFilterPredicate.java index 9e4b91413..46907c435 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/utils/StatusFilterPredicate.java +++ b/mastodon/src/main/java/org/joinmastodon/android/utils/StatusFilterPredicate.java @@ -39,7 +39,7 @@ public class StatusFilterPredicate implements Predicate{ return true; } - public boolean testWithWarning(Status status) { + public boolean testWithWarning(Status status, Filter.FilterContext filterContext) { if(status.filtered!=null){ if (status.filtered.isEmpty()){ return true; @@ -47,7 +47,7 @@ public class StatusFilterPredicate implements Predicate{ boolean matches=status.filtered.stream() .map(filterResult->filterResult.filter) .filter(filter->filter.expiresAt==null||filter.expiresAt.isAfter(Instant.now())) - .anyMatch(filter->filter.filterAction==Filter.FilterAction.WARN); + .anyMatch(filter->filter.filterAction==Filter.FilterAction.WARN && filter.context.contains(filterContext)); return !matches; } for(Filter filter:filters){