From 9412ffba0f90f99d849a3de25578b096371d9004 Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Sat, 7 Oct 2023 08:59:36 +0200 Subject: [PATCH] fix boost button not updating when boosting (#4048) --- .../keylesspalace/tusky/adapter/StatusBaseViewHolder.java | 2 ++ .../java/com/keylesspalace/tusky/usecase/TimelineCases.kt | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java index 49e70fc71..5a4dbe8e3 100644 --- a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java +++ b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java @@ -725,6 +725,7 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder { listener.onReblog(!buttonState, position); if(!buttonState) { reblogButton.playAnimation(); + reblogButton.setChecked(true); } return true; }); @@ -746,6 +747,7 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder { listener.onFavourite(!buttonState, position); if(!buttonState) { favouriteButton.playAnimation(); + favouriteButton.setChecked(true); } return true; }); diff --git a/app/src/main/java/com/keylesspalace/tusky/usecase/TimelineCases.kt b/app/src/main/java/com/keylesspalace/tusky/usecase/TimelineCases.kt index 85a43a9e8..5239578a0 100644 --- a/app/src/main/java/com/keylesspalace/tusky/usecase/TimelineCases.kt +++ b/app/src/main/java/com/keylesspalace/tusky/usecase/TimelineCases.kt @@ -51,7 +51,13 @@ class TimelineCases @Inject constructor( } else { mastodonApi.unreblogStatus(statusId) }.onSuccess { status -> - eventHub.dispatch(StatusChangedEvent(status)) + if (status.reblog != null) { + // when reblogging, the Mastodon Api does not return the reblogged status directly + // but the newly created status with reblog set to the reblogged status + eventHub.dispatch(StatusChangedEvent(status.reblog)) + } else { + eventHub.dispatch(StatusChangedEvent(status)) + } } }