fix diffing statuses (#4909)

Several cases of payloads not being forwarded correctly, leading to
unnecessary re-binding of the whole status view. I simplified the logic
by removing the additional list level, making it easier to understand
what is going on.
This commit is contained in:
Konrad Pozniak 2025-02-06 11:38:05 +01:00 committed by GitHub
commit b24427c6df
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 84 additions and 65 deletions

View file

@ -39,6 +39,7 @@ import com.keylesspalace.tusky.util.StringUtils;
import com.keylesspalace.tusky.viewdata.StatusViewData;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import at.connyduck.sparkbutton.helpers.Utils;
@ -64,9 +65,9 @@ public class StatusViewHolder extends StatusBaseViewHolder {
public void setupWithStatus(@NonNull StatusViewData.Concrete status,
@NonNull final StatusActionListener listener,
@NonNull StatusDisplayOptions statusDisplayOptions,
@Nullable Object payloads,
@NonNull List<Object> payloads,
final boolean showStatusInfo) {
if (payloads == null) {
if (payloads.isEmpty()) {
boolean sensitive = !TextUtils.isEmpty(status.getActionable().getSpoilerText());
boolean expanded = status.isExpanded();