Add badge treatments as per spec.

This commit is contained in:
Alex Hart
2021-11-03 10:44:36 -03:00
committed by Greyson Parrelli
parent 70355aa70e
commit 7bbfc2d34c
10 changed files with 110 additions and 23 deletions

View File

@@ -67,6 +67,7 @@ import org.thoughtcrime.securesms.BindableConversationItem;
import org.thoughtcrime.securesms.MediaPreviewActivity;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.attachments.DatabaseAttachment;
import org.thoughtcrime.securesms.badges.BadgeImageView;
import org.thoughtcrime.securesms.components.AlertView;
import org.thoughtcrime.securesms.components.AudioView;
import org.thoughtcrime.securesms.components.AvatarImageView;
@@ -183,6 +184,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
private AvatarImageView contactPhoto;
private AlertView alertView;
protected ReactionsConversationView reactionsView;
private BadgeImageView badgeImageView;
private @NonNull Set<MultiselectPart> batchSelected = new HashSet<>();
private @NonNull Outliner outliner = new Outliner();
@@ -264,6 +266,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
this.reply = findViewById(R.id.reply_icon_wrapper);
this.replyIcon = findViewById(R.id.reply_icon);
this.reactionsView = findViewById(R.id.reactions_view);
this.badgeImageView = findViewById(R.id.badge);
setOnClickListener(new ClickListener(null));
@@ -1250,6 +1253,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
});
contactPhoto.setAvatar(glideRequests, recipient, false);
badgeImageView.setBadgeFromRecipient(recipient, glideRequests);
}
private void linkifyMessageBody(@NonNull Spannable messageBody,
@@ -1486,8 +1490,10 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
if (!next.isPresent() || next.get().isUpdate() || !current.getRecipient().equals(next.get().getRecipient())) {
contactPhoto.setVisibility(VISIBLE);
badgeImageView.setVisibility(VISIBLE);
} else {
contactPhoto.setVisibility(GONE);
badgeImageView.setVisibility(GONE);
}
} else {
if (groupSenderHolder != null) {
@@ -1497,6 +1503,10 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
if (contactPhotoHolder != null) {
contactPhotoHolder.setVisibility(GONE);
}
if (badgeImageView != null) {
badgeImageView.setVisibility(GONE);
}
}
}