Fix comparing statuses and diffing in NotificationsFragment (#2318)

This commit is contained in:
Konrad Pozniak 2022-02-07 20:38:54 +01:00 committed by GitHub
parent d2d52da717
commit 2fd45c1cdb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 31 deletions

View File

@ -55,10 +55,11 @@ data class Status(
val actionableStatus: Status val actionableStatus: Status
get() = reblog ?: this get() = reblog ?: this
/** Helper for Java */ /** Helpers for Java */
fun copyWithFavourited(favourited: Boolean): Status = copy(favourited = favourited)
fun copyWithReblogged(reblogged: Boolean): Status = copy(reblogged = reblogged)
fun copyWithBookmarked(bookmarked: Boolean): Status = copy(bookmarked = bookmarked)
fun copyWithPoll(poll: Poll?): Status = copy(poll = poll) fun copyWithPoll(poll: Poll?): Status = copy(poll = poll)
/** Helper for Java */
fun copyWithPinned(pinned: Boolean): Status = copy(pinned = pinned) fun copyWithPinned(pinned: Boolean): Status = copy(pinned = pinned)
enum class Visibility(val num: Int) { enum class Visibility(val num: Int) {
@ -147,18 +148,6 @@ data class Status(
return builder.toString() return builder.toString()
} }
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other == null || javaClass != other.javaClass) return false
val status = other as Status?
return id == status?.id
}
override fun hashCode(): Int {
return id.hashCode()
}
data class Mention( data class Mention(
val id: String, val id: String,
val url: String, val url: String,

View File

@ -412,10 +412,7 @@ public class NotificationsFragment extends SFragment implements
} }
private void setReblogForStatus(String statusId, boolean reblog) { private void setReblogForStatus(String statusId, boolean reblog) {
updateStatus(statusId, (s) -> { updateStatus(statusId, (s) -> s.copyWithReblogged(reblog));
s.setReblogged(reblog);
return s;
});
} }
@Override @Override
@ -434,10 +431,7 @@ public class NotificationsFragment extends SFragment implements
} }
private void setFavouriteForStatus(String statusId, boolean favourite) { private void setFavouriteForStatus(String statusId, boolean favourite) {
updateStatus(statusId, (s) -> { updateStatus(statusId, (s) -> s.copyWithFavourited(favourite));
s.setFavourited(favourite);
return s;
});
} }
@Override @Override
@ -456,10 +450,7 @@ public class NotificationsFragment extends SFragment implements
} }
private void setBookmarkForStatus(String statusId, boolean bookmark) { private void setBookmarkForStatus(String statusId, boolean bookmark) {
updateStatus(statusId, (s) -> { updateStatus(statusId, (s) -> s.copyWithBookmarked(bookmark));
s.setBookmarked(bookmark);
return s;
});
} }
public void onVoteInPoll(int position, @NonNull List<Integer> choices) { public void onVoteInPoll(int position, @NonNull List<Integer> choices) {
@ -519,10 +510,7 @@ public class NotificationsFragment extends SFragment implements
} }
private void setPinForStatus(String statusId, boolean pinned) { private void setPinForStatus(String statusId, boolean pinned) {
updateStatus(statusId, status -> { updateStatus(statusId, status -> status.copyWithPinned(pinned));
status.copyWithPinned(pinned);
return status;
});
} }
@Override @Override