diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java b/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java index dc8aa3b250..e36733b856 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java @@ -112,10 +112,14 @@ public class ContactSelectionListItem extends LinearLayout implements RecipientF @SuppressLint("SetTextI18n") private void setText(@Nullable Recipient recipient, int type, String name, String number, String label) { - if (number == null || number.isEmpty() || GroupId.isEncodedGroup(number)) { + if (number == null || number.isEmpty()) { this.nameView.setEnabled(false); this.numberView.setText(""); this.labelView.setVisibility(View.GONE); + } else if (recipient != null && recipient.isGroup()) { + this.nameView.setEnabled(false); + this.numberView.setText(getGroupMemberCount(recipient)); + this.labelView.setVisibility(View.GONE); } else if (type == ContactRepository.PUSH_TYPE) { this.numberView.setText(number); this.nameView.setEnabled(true); @@ -149,6 +153,14 @@ public class ContactSelectionListItem extends LinearLayout implements RecipientF return chipName; } + private String getGroupMemberCount(@NonNull Recipient recipient) { + if (!recipient.isGroup()) { + throw new AssertionError(); + } + int memberCount = recipient.getParticipants().size(); + return getContext().getResources().getQuantityString(R.plurals.contact_selection_list_item__number_of_members, memberCount, memberCount); + } + public @Nullable LiveRecipient getRecipient() { return recipient; } @@ -165,5 +177,8 @@ public class ContactSelectionListItem extends LinearLayout implements RecipientF public void onRecipientChanged(@NonNull Recipient recipient) { contactPhotoImage.setAvatar(glideRequests, recipient, false); nameView.setText(recipient); + if (recipient.isGroup()) { + numberView.setText(getGroupMemberCount(recipient)); + } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b495b0609c..bbcf64f80d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1417,6 +1417,12 @@ Signal needs access to your contacts in order to display them. Show Contacts + + + %1$d member + %1$d members + + Signal message Unsecured SMS