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