diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java index 92171e380..35e76ac72 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java @@ -43,7 +43,6 @@ import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import me.grishka.appkit.api.SimpleCallback; import me.grishka.appkit.utils.MergeRecyclerAdapter; -import me.grishka.appkit.views.FragmentRootLinearLayout; public class NotificationsListFragment extends BaseStatusListFragment { private boolean onlyMentions; diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ScheduledStatusListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ScheduledStatusListFragment.java index 4ab8d3ac9..864dec49e 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ScheduledStatusListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ScheduledStatusListFragment.java @@ -80,7 +80,10 @@ public class ScheduledStatusListFragment extends BaseStatusListFragment buildDisplayItems(ScheduledStatus s) { - return StatusDisplayItem.buildItems(this, s.toStatus(), accountID, s, knownAccounts, false, false, false, true, null); + return StatusDisplayItem.buildItems(this, s.toStatus(), accountID, s, knownAccounts, null, + StatusDisplayItem.FLAG_NO_EMOJI_REACTIONS | + StatusDisplayItem.FLAG_NO_FOOTER | + StatusDisplayItem.FLAG_NO_TRANSLATE); } @Override diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/SearchFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/SearchFragment.java index 2c0c91859..acc223f6f 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/SearchFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/SearchFragment.java @@ -70,7 +70,7 @@ public class SearchFragment extends BaseStatusListFragment{ return switch(s.type){ case ACCOUNT -> Collections.singletonList(new AccountStatusDisplayItem(s.id, this, s.account)); case HASHTAG -> Collections.singletonList(new HashtagStatusDisplayItem(s.id, this, s.hashtag)); - case STATUS -> StatusDisplayItem.buildItems(this, s.status, accountID, s, knownAccounts, FilterContext.PUBLIC, !getLocalPrefs().showEmojiReactionsInLists ? StatusDisplayItem.FLAG_NO_EMOJI_REACTIONS : 0); + case STATUS -> StatusDisplayItem.buildItems(this, s.status, accountID, s, knownAccounts, FilterContext.PUBLIC, 0); }; } 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 cd7671148..6cb969954 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 @@ -120,19 +120,6 @@ public abstract class StatusDisplayItem{ }; } - public static ArrayList buildItems(BaseStatusListFragment fragment, Status status, String accountID, DisplayItemsParent parentObject, Map knownAccounts, boolean inset, boolean showReactions, boolean addFooter, boolean disableTranslate, FilterContext filterContext) { - int flags=0; - if(inset) - flags|=FLAG_INSET; - if(!addFooter) - flags|=FLAG_NO_FOOTER; - if (disableTranslate) - flags|=FLAG_NO_TRANSLATE; - if (!showReactions) - flags|=FLAG_NO_EMOJI_REACTIONS; - return buildItems(fragment, status, accountID, parentObject, knownAccounts, filterContext, flags); - } - public static ReblogOrReplyLineStatusDisplayItem buildReplyLine(BaseStatusListFragment fragment, Status status, String accountID, DisplayItemsParent parent, Account account, boolean threadReply) { String parentID = parent.getID(); String text = threadReply ? fragment.getString(R.string.sk_show_thread) @@ -290,8 +277,8 @@ public abstract class StatusDisplayItem{ if(contentItems!=items && statusForContent.spoilerRevealed){ items.addAll(contentItems); } - if((flags & FLAG_NO_EMOJI_REACTIONS)==0 - && AccountSessionManager.get(accountID).getLocalPreferences().emojiReactionsEnabled){ + if((flags & FLAG_NO_EMOJI_REACTIONS)==0 && fragment.getLocalPrefs().emojiReactionsEnabled && + (fragment.getLocalPrefs().showEmojiReactionsInLists || fragment instanceof ThreadFragment)){ boolean isMainStatus=fragment instanceof ThreadFragment t && t.getMainStatus().id.equals(statusForContent.id); items.add(new EmojiReactionsStatusDisplayItem(parentID, fragment, statusForContent, accountID, !isMainStatus, false)); } @@ -398,15 +385,7 @@ public abstract class StatusDisplayItem{ } return Optional.empty(); } -// int nextNextPos=getAbsoluteAdapterPosition() + 2; -// if(next.map(n->n instanceof EmojiReactionsStatusDisplayItem e && e.isHidden()).orElse(false)){ -// List displayItems=item.parentFragment.getDisplayItems(); -// return displayItems.size() > nextNextPos -// ? Optional.of(displayItems.get(nextNextPos)) -// : Optional.empty(); -// }else{ -// return next; -// } + public Optional getNextDisplayItem(){ return getDisplayItemOffset(1); }