From 964d214434e07a13247cbf86e2dd8573ba3d52ba Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Wed, 4 May 2022 15:51:40 -0300 Subject: [PATCH] Remove inset for check circle and update copy for private and group story pickers. --- .../contacts/paged/ContactSearchItems.kt | 28 +++++++++++++++++-- .../contact_selection_checkbox.xml | 1 - .../contact_selection_checkbox_dialog.xml | 1 - .../drawable/contact_selection_checkbox.xml | 1 - .../contact_selection_checkbox_dialog.xml | 1 - app/src/main/res/values/strings.xml | 10 +++++++ 6 files changed, 35 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt index b81d28227a..41a0d936e9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt @@ -93,7 +93,13 @@ object ContactSearchItems { model.story.viewerCount } - number.text = context.resources.getQuantityString(R.plurals.SelectViewersFragment__d_viewers, count, count) + val pluralId = when { + model.story.recipient.isGroup -> R.plurals.ContactSearchItems__group_story_d_viewers + model.story.recipient.isMyStory -> R.plurals.SelectViewersFragment__d_viewers + else -> R.plurals.ContactSearchItems__private_story_d_viewers + } + + number.text = context.resources.getQuantityString(pluralId, count, count) } } @@ -159,8 +165,15 @@ object ContactSearchItems { protected open fun bindNumberField(model: T) { number.visible = getRecipient(model).isGroup if (getRecipient(model).isGroup) { - val members = getRecipient(model).participants.size - number.text = context.resources.getQuantityString(R.plurals.ContactSelectionListFragment_d_members, members, members) + number.text = getRecipient(model).participants + .take(10) + .sortedWith(IsSelfComparator()).joinToString(", ") { + if (it.isSelf) { + context.getString(R.string.ConversationTitleView_you) + } else { + it.getShortDisplayName(context) + } + } } } @@ -246,4 +259,13 @@ object ContactSearchItems { itemView.setOnClickListener { expandListener.invoke(model.expand) } } } + + private class IsSelfComparator : Comparator { + override fun compare(lhs: Recipient?, rhs: Recipient?): Int { + val isLeftSelf = lhs?.isSelf == true + val isRightSelf = rhs?.isSelf == true + + return if (isLeftSelf == isRightSelf) 0 else if (isLeftSelf) 1 else -1 + } + } } diff --git a/app/src/main/res/drawable-night/contact_selection_checkbox.xml b/app/src/main/res/drawable-night/contact_selection_checkbox.xml index cff41d3586..35877820f6 100644 --- a/app/src/main/res/drawable-night/contact_selection_checkbox.xml +++ b/app/src/main/res/drawable-night/contact_selection_checkbox.xml @@ -16,7 +16,6 @@ - diff --git a/app/src/main/res/drawable-night/contact_selection_checkbox_dialog.xml b/app/src/main/res/drawable-night/contact_selection_checkbox_dialog.xml index f8146f6716..bc6f9d9588 100644 --- a/app/src/main/res/drawable-night/contact_selection_checkbox_dialog.xml +++ b/app/src/main/res/drawable-night/contact_selection_checkbox_dialog.xml @@ -16,7 +16,6 @@ - diff --git a/app/src/main/res/drawable/contact_selection_checkbox.xml b/app/src/main/res/drawable/contact_selection_checkbox.xml index 2931ed51db..43f5c486e0 100644 --- a/app/src/main/res/drawable/contact_selection_checkbox.xml +++ b/app/src/main/res/drawable/contact_selection_checkbox.xml @@ -16,7 +16,6 @@ - diff --git a/app/src/main/res/drawable/contact_selection_checkbox_dialog.xml b/app/src/main/res/drawable/contact_selection_checkbox_dialog.xml index 2931ed51db..43f5c486e0 100644 --- a/app/src/main/res/drawable/contact_selection_checkbox_dialog.xml +++ b/app/src/main/res/drawable/contact_selection_checkbox_dialog.xml @@ -16,7 +16,6 @@ - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4f76c499a3..7c3889d095 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4774,6 +4774,16 @@ Make a monthly donation Not now + + + Private Story · %1$d viewer + Private Story · %1$d viewers + + + + Group Story · %1$d viewer + Group Story · %1$d viewers +