Add support for muting conversations (#1732)

* Add support for muting conversations
Implements #1731

* Fix CI

* Apply code review feedback
This commit is contained in:
Levi Bard 2020-03-24 21:06:04 +01:00 committed by GitHub
commit 8cb83050ac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 904 additions and 19 deletions

View file

@ -57,6 +57,7 @@ public abstract class StatusViewData {
final boolean reblogged;
final boolean favourited;
final boolean bookmarked;
private final boolean muted;
@Nullable
private final String spoilerText;
private final Status.Visibility visibility;
@ -92,7 +93,7 @@ public abstract class StatusViewData {
private final PollViewData poll;
private final boolean isBot;
public Concrete(String id, Spanned content, boolean reblogged, boolean favourited, boolean bookmarked,
public Concrete(String id, Spanned content, boolean reblogged, boolean favourited, boolean bookmarked, boolean muted,
@Nullable String spoilerText, Status.Visibility visibility, List<Attachment> attachments,
@Nullable String rebloggedByUsername, @Nullable String rebloggedAvatar, boolean sensitive, boolean isExpanded,
boolean isShowingContent, String userFullName, String nickname, String avatar,
@ -115,6 +116,7 @@ public abstract class StatusViewData {
this.reblogged = reblogged;
this.favourited = favourited;
this.bookmarked = bookmarked;
this.muted = muted;
this.visibility = visibility;
this.attachments = attachments;
this.rebloggedByUsername = rebloggedByUsername;
@ -161,6 +163,10 @@ public abstract class StatusViewData {
return bookmarked;
}
public boolean isMuted() {
return muted;
}
@Nullable
public String getSpoilerText() {
return spoilerText;
@ -401,6 +407,7 @@ public abstract class StatusViewData {
private boolean reblogged;
private boolean favourited;
private boolean bookmarked;
private boolean muted;
private String spoilerText;
private Status.Visibility visibility;
private List<Attachment> attachments;
@ -437,6 +444,7 @@ public abstract class StatusViewData {
reblogged = viewData.reblogged;
favourited = viewData.favourited;
bookmarked = viewData.bookmarked;
muted = viewData.muted;
spoilerText = viewData.spoilerText;
visibility = viewData.visibility;
attachments = viewData.attachments == null ? null : new ArrayList<>(viewData.attachments);
@ -490,6 +498,11 @@ public abstract class StatusViewData {
return this;
}
public Builder setMuted(boolean muted) {
this.muted = muted;
return this;
}
public Builder setSpoilerText(String spoilerText) {
this.spoilerText = spoilerText;
return this;
@ -639,7 +652,7 @@ public abstract class StatusViewData {
if (this.accountEmojis == null) accountEmojis = Collections.emptyList();
if (this.createdAt == null) createdAt = new Date();
return new StatusViewData.Concrete(id, content, reblogged, favourited, bookmarked, spoilerText,
return new StatusViewData.Concrete(id, content, reblogged, favourited, bookmarked, muted, spoilerText,
visibility, attachments, rebloggedByUsername, rebloggedAvatar, isSensitive, isExpanded,
isShowingContent, userFullName, nickname, avatar, createdAt, reblogsCount,
favouritesCount, inReplyToId, mentions, senderId, rebloggingEnabled, application,