Merge branch 'feature/pin-posts' into fork

This commit is contained in:
sk
2022-05-06 21:50:08 +02:00
4 changed files with 6 additions and 1 deletions

View File

@@ -5,7 +5,7 @@ import org.joinmastodon.android.model.Status;
public class StatusCountersUpdatedEvent{ public class StatusCountersUpdatedEvent{
public String id; public String id;
public int favorites, reblogs, replies; public int favorites, reblogs, replies;
public boolean favorited, reblogged; public boolean favorited, reblogged, pinned;
public StatusCountersUpdatedEvent(Status s){ public StatusCountersUpdatedEvent(Status s){
id=s.id; id=s.id;
@@ -14,5 +14,6 @@ public class StatusCountersUpdatedEvent{
replies=s.repliesCount; replies=s.repliesCount;
favorited=s.favourited; favorited=s.favourited;
reblogged=s.reblogged; reblogged=s.reblogged;
pinned=s.pinned;
} }
} }

View File

@@ -78,6 +78,7 @@ public class AccountTimelineFragment extends StatusListFragment{
protected void onStatusCreated(StatusCreatedEvent ev){ protected void onStatusCreated(StatusCreatedEvent ev){
if(!AccountSessionManager.getInstance().isSelf(accountID, ev.status.account)) if(!AccountSessionManager.getInstance().isSelf(accountID, ev.status.account))
return; return;
if(filter==GetAccountStatuses.Filter.PINNED) return;
if(filter==GetAccountStatuses.Filter.DEFAULT){ if(filter==GetAccountStatuses.Filter.DEFAULT){
// Keep replies to self, discard all other replies // Keep replies to self, discard all other replies
if(ev.status.inReplyToAccountId!=null && !ev.status.inReplyToAccountId.equals(AccountSessionManager.getInstance().getAccount(accountID).self.id)) if(ev.status.inReplyToAccountId!=null && !ev.status.inReplyToAccountId.equals(AccountSessionManager.getInstance().getAccount(accountID).self.id))

View File

@@ -126,6 +126,7 @@ public class Status extends BaseModel implements DisplayItemsParent{
repliesCount=ev.replies; repliesCount=ev.replies;
favourited=ev.favorited; favourited=ev.favorited;
reblogged=ev.reblogged; reblogged=ev.reblogged;
pinned=ev.pinned;
} }
public Status getContentStatus(){ public Status getContentStatus(){

View File

@@ -43,6 +43,7 @@ import org.joinmastodon.android.api.requests.statuses.DeleteStatus;
import org.joinmastodon.android.api.requests.statuses.GetStatusByID; import org.joinmastodon.android.api.requests.statuses.GetStatusByID;
import org.joinmastodon.android.api.requests.statuses.SetStatusPinned; import org.joinmastodon.android.api.requests.statuses.SetStatusPinned;
import org.joinmastodon.android.api.session.AccountSessionManager; import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.events.StatusCountersUpdatedEvent;
import org.joinmastodon.android.events.StatusDeletedEvent; import org.joinmastodon.android.events.StatusDeletedEvent;
import org.joinmastodon.android.events.StatusUnpinnedEvent; import org.joinmastodon.android.events.StatusUnpinnedEvent;
import org.joinmastodon.android.fragments.HashtagTimelineFragment; import org.joinmastodon.android.fragments.HashtagTimelineFragment;
@@ -361,6 +362,7 @@ public class UiUtils{
@Override @Override
public void onSuccess(Status result) { public void onSuccess(Status result) {
resultCallback.accept(result); resultCallback.accept(result);
E.post(new StatusCountersUpdatedEvent(result));
if (!result.pinned) if (!result.pinned)
E.post(new StatusUnpinnedEvent(status.id, accountID)); E.post(new StatusUnpinnedEvent(status.id, accountID));
} }