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