Fix status visibility in conversation list

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
This commit is contained in:
tobiasKaminsky 2022-08-03 08:24:10 +02:00
parent 87cb8fa6a7
commit d1e474e402
No known key found for this signature in database
GPG Key ID: 0E00D4D47D0C5AF7

View File

@ -97,7 +97,7 @@ public class ConversationItem extends AbstractFlexibleItem<ConversationItem.Conv
public boolean equals(Object o) {
if (o instanceof ConversationItem) {
ConversationItem inItem = (ConversationItem) o;
return conversation.equals(inItem.getModel());
return conversation.equals(inItem.getModel()) && status.equals(inItem.status);
}
return false;
}
@ -108,7 +108,7 @@ public class ConversationItem extends AbstractFlexibleItem<ConversationItem.Conv
@Override
public int hashCode() {
return conversation.hashCode();
return conversation.hashCode() * (status == null ? 1 : status.hashCode());
}
@Override
@ -211,12 +211,16 @@ public class ConversationItem extends AbstractFlexibleItem<ConversationItem.Conv
if (status != null && Conversation.ConversationType.ROOM_SYSTEM != conversation.getType()) {
float size = DisplayUtils.convertDpToPixel(STATUS_SIZE_IN_DP, appContext);
holder.binding.userStatusImage.setVisibility(View.VISIBLE);
holder.binding.userStatusImage.setImageDrawable(new StatusDrawable(
status.getStatus(),
status.getIcon(),
size,
context.getResources().getColor(R.color.bg_default),
appContext));
} else {
holder.binding.userStatusImage.setVisibility(View.GONE);
}
if (conversation.getLastMessage() != null) {