diff --git a/app/src/main/java/com/keylesspalace/tusky/StatusViewHolder.java b/app/src/main/java/com/keylesspalace/tusky/StatusViewHolder.java index 5efa94fb..88114c0b 100644 --- a/app/src/main/java/com/keylesspalace/tusky/StatusViewHolder.java +++ b/app/src/main/java/com/keylesspalace/tusky/StatusViewHolder.java @@ -382,7 +382,7 @@ class StatusViewHolder extends RecyclerView.ViewHolder { hideSensitiveMediaWarning(); } setupButtons(listener, realStatus.account.id); - setRebloggingEnabled(realStatus.visibility != Status.Visibility.PRIVATE); + setRebloggingEnabled(status.rebloggingAllowed()); if (realStatus.spoilerText.isEmpty()) { hideSpoilerText(); } else { diff --git a/app/src/main/java/com/keylesspalace/tusky/entity/Status.java b/app/src/main/java/com/keylesspalace/tusky/entity/Status.java index b130ef97..cc7f990a 100644 --- a/app/src/main/java/com/keylesspalace/tusky/entity/Status.java +++ b/app/src/main/java/com/keylesspalace/tusky/entity/Status.java @@ -47,12 +47,15 @@ public class Status { } public enum Visibility { + UNKNOWN, @SerializedName("public") PUBLIC, @SerializedName("unlisted") UNLISTED, @SerializedName("private") PRIVATE, + @SerializedName("direct") + DIRECT, } public String id; @@ -81,6 +84,13 @@ public class Status { return visibility == null ? Visibility.UNLISTED : visibility; } + public boolean rebloggingAllowed() { + return visibility != null + && visibility != Visibility.PRIVATE + && visibility != Visibility.DIRECT + && visibility != Visibility.UNKNOWN; + } + @SerializedName("media_attachments") public MediaAttachment[] attachments;