adhere to showEmojiReactionsInLists setting
closes sk22#788
This commit is contained in:
parent
580ae15af6
commit
d334703c65
|
@ -43,7 +43,6 @@ import androidx.annotation.NonNull;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import me.grishka.appkit.api.SimpleCallback;
|
import me.grishka.appkit.api.SimpleCallback;
|
||||||
import me.grishka.appkit.utils.MergeRecyclerAdapter;
|
import me.grishka.appkit.utils.MergeRecyclerAdapter;
|
||||||
import me.grishka.appkit.views.FragmentRootLinearLayout;
|
|
||||||
|
|
||||||
public class NotificationsListFragment extends BaseStatusListFragment<Notification> {
|
public class NotificationsListFragment extends BaseStatusListFragment<Notification> {
|
||||||
private boolean onlyMentions;
|
private boolean onlyMentions;
|
||||||
|
|
|
@ -80,7 +80,10 @@ public class ScheduledStatusListFragment extends BaseStatusListFragment<Schedule
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<StatusDisplayItem> buildDisplayItems(ScheduledStatus s) {
|
protected List<StatusDisplayItem> 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
|
@Override
|
||||||
|
|
|
@ -70,7 +70,7 @@ public class SearchFragment extends BaseStatusListFragment<SearchResult>{
|
||||||
return switch(s.type){
|
return switch(s.type){
|
||||||
case ACCOUNT -> Collections.singletonList(new AccountStatusDisplayItem(s.id, this, s.account));
|
case ACCOUNT -> Collections.singletonList(new AccountStatusDisplayItem(s.id, this, s.account));
|
||||||
case HASHTAG -> Collections.singletonList(new HashtagStatusDisplayItem(s.id, this, s.hashtag));
|
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);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -120,19 +120,6 @@ public abstract class StatusDisplayItem{
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ArrayList<StatusDisplayItem> buildItems(BaseStatusListFragment<?> fragment, Status status, String accountID, DisplayItemsParent parentObject, Map<String, Account> 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) {
|
public static ReblogOrReplyLineStatusDisplayItem buildReplyLine(BaseStatusListFragment<?> fragment, Status status, String accountID, DisplayItemsParent parent, Account account, boolean threadReply) {
|
||||||
String parentID = parent.getID();
|
String parentID = parent.getID();
|
||||||
String text = threadReply ? fragment.getString(R.string.sk_show_thread)
|
String text = threadReply ? fragment.getString(R.string.sk_show_thread)
|
||||||
|
@ -290,8 +277,8 @@ public abstract class StatusDisplayItem{
|
||||||
if(contentItems!=items && statusForContent.spoilerRevealed){
|
if(contentItems!=items && statusForContent.spoilerRevealed){
|
||||||
items.addAll(contentItems);
|
items.addAll(contentItems);
|
||||||
}
|
}
|
||||||
if((flags & FLAG_NO_EMOJI_REACTIONS)==0
|
if((flags & FLAG_NO_EMOJI_REACTIONS)==0 && fragment.getLocalPrefs().emojiReactionsEnabled &&
|
||||||
&& AccountSessionManager.get(accountID).getLocalPreferences().emojiReactionsEnabled){
|
(fragment.getLocalPrefs().showEmojiReactionsInLists || fragment instanceof ThreadFragment)){
|
||||||
boolean isMainStatus=fragment instanceof ThreadFragment t && t.getMainStatus().id.equals(statusForContent.id);
|
boolean isMainStatus=fragment instanceof ThreadFragment t && t.getMainStatus().id.equals(statusForContent.id);
|
||||||
items.add(new EmojiReactionsStatusDisplayItem(parentID, fragment, statusForContent, accountID, !isMainStatus, false));
|
items.add(new EmojiReactionsStatusDisplayItem(parentID, fragment, statusForContent, accountID, !isMainStatus, false));
|
||||||
}
|
}
|
||||||
|
@ -398,15 +385,7 @@ public abstract class StatusDisplayItem{
|
||||||
}
|
}
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
// int nextNextPos=getAbsoluteAdapterPosition() + 2;
|
|
||||||
// if(next.map(n->n instanceof EmojiReactionsStatusDisplayItem e && e.isHidden()).orElse(false)){
|
|
||||||
// List<StatusDisplayItem> displayItems=item.parentFragment.getDisplayItems();
|
|
||||||
// return displayItems.size() > nextNextPos
|
|
||||||
// ? Optional.of(displayItems.get(nextNextPos))
|
|
||||||
// : Optional.empty();
|
|
||||||
// }else{
|
|
||||||
// return next;
|
|
||||||
// }
|
|
||||||
public Optional<StatusDisplayItem> getNextDisplayItem(){
|
public Optional<StatusDisplayItem> getNextDisplayItem(){
|
||||||
return getDisplayItemOffset(1);
|
return getDisplayItemOffset(1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue