From 4d9f625ff481bc0b5d22f4457025a6d319fce3f9 Mon Sep 17 00:00:00 2001 From: LucasGGamerM Date: Thu, 21 Dec 2023 20:01:52 -0300 Subject: [PATCH] refactor(statusDisplayItem): move status hidden filter check to start of method to allow an early return This optimises things by not computing the list of stuff when the status is simply not going to be rendered --- .../android/ui/displayitems/StatusDisplayItem.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 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 7d2e04b45..23de5b4b1 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 @@ -167,6 +167,10 @@ public abstract class StatusDisplayItem{ args.putString("account", accountID); ScheduledStatus scheduledStatus = parentObject instanceof ScheduledStatus s ? s : null; + // Hide statuses that have a filter action of hide + if(!new StatusFilterPredicate(accountID, filterContext, FilterAction.HIDE).test(status)) + return new ArrayList() ; + HeaderStatusDisplayItem header=null; boolean hideCounts=!AccountSessionManager.get(accountID).getLocalPreferences().showInteractionCounts; @@ -363,10 +367,6 @@ public abstract class StatusDisplayItem{ } } - // Hide statuses that have a filter action of hide - if(!new StatusFilterPredicate(accountID, filterContext, FilterAction.HIDE).test(status)) - return new ArrayList() ; - List nonGapItems=gap!=null ? items.subList(0, items.size()-1) : items; WarningFilteredStatusDisplayItem warning=applyingFilter==null ? null : new WarningFilteredStatusDisplayItem(parentID, fragment, statusForContent, nonGapItems, applyingFilter);