From 3becad1468b51a67b850ba74ed92b00198ef202f Mon Sep 17 00:00:00 2001 From: sk Date: Fri, 6 May 2022 21:18:48 +0200 Subject: [PATCH 1/2] fix created posts being added to pinned --- .../joinmastodon/android/fragments/AccountTimelineFragment.java | 1 + 1 file changed, 1 insertion(+) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/AccountTimelineFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/AccountTimelineFragment.java index fe1c004cd..ea9abbdd1 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/AccountTimelineFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/AccountTimelineFragment.java @@ -78,6 +78,7 @@ public class AccountTimelineFragment extends StatusListFragment{ protected void onStatusCreated(StatusCreatedEvent ev){ if(!AccountSessionManager.getInstance().isSelf(accountID, ev.status.account)) return; + if(filter==GetAccountStatuses.Filter.PINNED) return; if(filter==GetAccountStatuses.Filter.DEFAULT){ // Keep replies to self, discard all other replies if(ev.status.inReplyToAccountId!=null && !ev.status.inReplyToAccountId.equals(AccountSessionManager.getInstance().getAccount(accountID).self.id)) From 33d4b678ed2e7893849654036998562032cf5760 Mon Sep 17 00:00:00 2001 From: sk Date: Fri, 6 May 2022 21:49:33 +0200 Subject: [PATCH 2/2] update posts' pinned states --- .../android/events/StatusCountersUpdatedEvent.java | 3 ++- .../src/main/java/org/joinmastodon/android/model/Status.java | 1 + .../main/java/org/joinmastodon/android/ui/utils/UiUtils.java | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/events/StatusCountersUpdatedEvent.java b/mastodon/src/main/java/org/joinmastodon/android/events/StatusCountersUpdatedEvent.java index 1b006b09c..2e26e9b50 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/events/StatusCountersUpdatedEvent.java +++ b/mastodon/src/main/java/org/joinmastodon/android/events/StatusCountersUpdatedEvent.java @@ -5,7 +5,7 @@ import org.joinmastodon.android.model.Status; public class StatusCountersUpdatedEvent{ public String id; public int favorites, reblogs, replies; - public boolean favorited, reblogged; + public boolean favorited, reblogged, pinned; public StatusCountersUpdatedEvent(Status s){ id=s.id; @@ -14,5 +14,6 @@ public class StatusCountersUpdatedEvent{ replies=s.repliesCount; favorited=s.favourited; reblogged=s.reblogged; + pinned=s.pinned; } } diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/Status.java b/mastodon/src/main/java/org/joinmastodon/android/model/Status.java index aa6459dfe..f2f0542b1 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/model/Status.java +++ b/mastodon/src/main/java/org/joinmastodon/android/model/Status.java @@ -126,6 +126,7 @@ public class Status extends BaseModel implements DisplayItemsParent{ repliesCount=ev.replies; favourited=ev.favorited; reblogged=ev.reblogged; + pinned=ev.pinned; } public Status getContentStatus(){ diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java b/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java index b0f332063..3cffaa4cc 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java @@ -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.SetStatusPinned; import org.joinmastodon.android.api.session.AccountSessionManager; +import org.joinmastodon.android.events.StatusCountersUpdatedEvent; import org.joinmastodon.android.events.StatusDeletedEvent; import org.joinmastodon.android.events.StatusUnpinnedEvent; import org.joinmastodon.android.fragments.HashtagTimelineFragment; @@ -361,6 +362,7 @@ public class UiUtils{ @Override public void onSuccess(Status result) { resultCallback.accept(result); + E.post(new StatusCountersUpdatedEvent(result)); if (!result.pinned) E.post(new StatusUnpinnedEvent(status.id, accountID)); }