Announcements fixes on Iceshrimp
- Hide emoji reactions - Correctly set editedAt
This commit is contained in:
@@ -68,14 +68,14 @@ public class AnnouncementsFragment extends BaseStatusListFragment<Announcement>
|
|||||||
instanceUser.url = "https://"+session.domain+"/about";
|
instanceUser.url = "https://"+session.domain+"/about";
|
||||||
instanceUser.avatar = instanceUser.avatarStatic = instance.thumbnail;
|
instanceUser.avatar = instanceUser.avatarStatic = instance.thumbnail;
|
||||||
instanceUser.emojis = List.of();
|
instanceUser.emojis = List.of();
|
||||||
Status fakeStatus = a.toStatus();
|
Status fakeStatus = a.toStatus(isInstanceIceshrimp());
|
||||||
TextStatusDisplayItem textItem = new TextStatusDisplayItem(a.id, HtmlParser.parse(a.content, a.emojis, a.mentions, a.tags, accountID), this, fakeStatus, true);
|
TextStatusDisplayItem textItem = new TextStatusDisplayItem(a.id, HtmlParser.parse(a.content, a.emojis, a.mentions, a.tags, accountID), this, fakeStatus, true);
|
||||||
textItem.textSelectable = true;
|
textItem.textSelectable = true;
|
||||||
|
|
||||||
List<StatusDisplayItem> items=new ArrayList<>();
|
List<StatusDisplayItem> items=new ArrayList<>();
|
||||||
items.add(HeaderStatusDisplayItem.fromAnnouncement(a, fakeStatus, instanceUser, this, accountID, this::onMarkAsRead));
|
items.add(HeaderStatusDisplayItem.fromAnnouncement(a, fakeStatus, instanceUser, this, accountID, this::onMarkAsRead));
|
||||||
items.add(textItem);
|
items.add(textItem);
|
||||||
if(!isInstanceAkkoma()) items.add(new EmojiReactionsStatusDisplayItem(a.id, this, fakeStatus, accountID, false, true));
|
if(!isInstanceAkkoma() && !isInstanceIceshrimp()) items.add(new EmojiReactionsStatusDisplayItem(a.id, this, fakeStatus, accountID, false, true));
|
||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,11 +50,11 @@ public class Announcement extends BaseModel implements DisplayItemsParent {
|
|||||||
if(reactions==null) reactions=new ArrayList<>();
|
if(reactions==null) reactions=new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Status toStatus() {
|
public Status toStatus(boolean isIceshrimp) {
|
||||||
Status s=Status.ofFake(id, content, publishedAt);
|
Status s=Status.ofFake(id, content, publishedAt);
|
||||||
s.createdAt=startsAt != null ? startsAt : publishedAt;
|
s.createdAt=startsAt != null ? startsAt : publishedAt;
|
||||||
s.reactions=reactions;
|
s.reactions=reactions;
|
||||||
if(updatedAt != null) s.editedAt=updatedAt;
|
if(updatedAt != null && (!isIceshrimp || !updatedAt.equals(publishedAt))) s.editedAt=updatedAt;
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static HeaderStatusDisplayItem fromAnnouncement(Announcement a, Status fakeStatus, Account instanceUser, BaseStatusListFragment parentFragment, String accountID, Consumer<String> consumeReadID) {
|
public static HeaderStatusDisplayItem fromAnnouncement(Announcement a, Status fakeStatus, Account instanceUser, BaseStatusListFragment parentFragment, String accountID, Consumer<String> consumeReadID) {
|
||||||
HeaderStatusDisplayItem item = new HeaderStatusDisplayItem(a.id, instanceUser, a.startsAt, parentFragment, accountID, fakeStatus, null, null, null);
|
HeaderStatusDisplayItem item = new HeaderStatusDisplayItem(a.id, instanceUser, a.startsAt!=null ? a.startsAt : fakeStatus.createdAt, parentFragment, accountID, fakeStatus, null, null, null);
|
||||||
item.announcement = a;
|
item.announcement = a;
|
||||||
item.consumeReadAnnouncement = consumeReadID;
|
item.consumeReadAnnouncement = consumeReadID;
|
||||||
return item;
|
return item;
|
||||||
|
|||||||
Reference in New Issue
Block a user