move permission definition to status privacy
This commit is contained in:
parent
70fdfb612e
commit
19b68855ac
|
@ -21,8 +21,6 @@ import java.lang.reflect.Type;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
|
|
||||||
@Parcel
|
@Parcel
|
||||||
public class Status extends BaseModel implements DisplayItemsParent, Searchable{
|
public class Status extends BaseModel implements DisplayItemsParent, Searchable{
|
||||||
@RequiredField
|
@RequiredField
|
||||||
|
@ -174,9 +172,10 @@ public class Status extends BaseModel implements DisplayItemsParent, Searchable{
|
||||||
return strippedText;
|
return strippedText;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isBoostable(String accountID){
|
public boolean isReblogPermitted(String accountID){
|
||||||
return (visibility==StatusPrivacy.PUBLIC || visibility==StatusPrivacy.UNLISTED || visibility==StatusPrivacy.LOCAL
|
return visibility.isReblogPermitted(account.id.equals(
|
||||||
|| (visibility==StatusPrivacy.PRIVATE && account.id.equals(AccountSessionManager.getInstance().getAccount(accountID).self.id)));
|
AccountSessionManager.getInstance().getAccount(accountID).self.id
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Status ofFake(String id, String text, Instant createdAt) {
|
public static Status ofFake(String id, String text, Instant createdAt) {
|
||||||
|
|
|
@ -14,7 +14,7 @@ public enum StatusPrivacy{
|
||||||
@SerializedName("local")
|
@SerializedName("local")
|
||||||
LOCAL(4); // akkoma
|
LOCAL(4); // akkoma
|
||||||
|
|
||||||
private int privacy;
|
private final int privacy;
|
||||||
|
|
||||||
StatusPrivacy(int privacy) {
|
StatusPrivacy(int privacy) {
|
||||||
this.privacy = privacy;
|
this.privacy = privacy;
|
||||||
|
@ -24,6 +24,13 @@ public enum StatusPrivacy{
|
||||||
return privacy > other.getPrivacy();
|
return privacy > other.getPrivacy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isReblogPermitted(boolean isOwnStatus){
|
||||||
|
return (this == StatusPrivacy.PUBLIC ||
|
||||||
|
this == StatusPrivacy.UNLISTED ||
|
||||||
|
this == StatusPrivacy.LOCAL ||
|
||||||
|
(this == StatusPrivacy.PRIVATE && isOwnStatus));
|
||||||
|
}
|
||||||
|
|
||||||
public int getPrivacy() {
|
public int getPrivacy() {
|
||||||
return privacy;
|
return privacy;
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,7 +133,7 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
|
||||||
boost.setSelected(item.status.reblogged);
|
boost.setSelected(item.status.reblogged);
|
||||||
favorite.setSelected(item.status.favourited);
|
favorite.setSelected(item.status.favourited);
|
||||||
bookmark.setSelected(item.status.bookmarked);
|
bookmark.setSelected(item.status.bookmarked);
|
||||||
boost.setEnabled(item.status.isBoostable(item.accountID));
|
boost.setEnabled(item.status.isReblogPermitted(item.accountID));
|
||||||
|
|
||||||
int nextPos = getAbsoluteAdapterPosition() + 1;
|
int nextPos = getAbsoluteAdapterPosition() + 1;
|
||||||
boolean nextIsWarning = item.parentFragment.getDisplayItems().size() > nextPos &&
|
boolean nextIsWarning = item.parentFragment.getDisplayItems().size() > nextPos &&
|
||||||
|
|
Loading…
Reference in New Issue