From f599238b031e4aa97d18255cabc4e8de289ceb0f Mon Sep 17 00:00:00 2001 From: charles Date: Wed, 23 Nov 2022 17:01:12 +1100 Subject: [PATCH] Fix open group member count display --- .../conversation/ConversationActionBarView.kt | 23 ++++++++++--------- .../conversation/v2/ConversationActivityV2.kt | 4 ++-- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActionBarView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActionBarView.kt index 0c95628de5..b0bac93b55 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActionBarView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActionBarView.kt @@ -50,17 +50,17 @@ class ConversationActionBarView : LinearLayout { mediator.attach() } - fun bind(recipient: Recipient, delegate: ConversationActionBarDelegate) { + fun bind(delegate: ConversationActionBarDelegate, recipient: Recipient, openGroup: OpenGroup? = null) { this.delegate = delegate - update(recipient) + update(recipient, openGroup) } - fun update(recipient: Recipient) { + fun update(recipient: Recipient, openGroup: OpenGroup? = null) { binding.conversationTitleView.text = when { recipient.isLocalNumber -> context.getString(R.string.note_to_self) else -> recipient.toShortString() } - updateSubtitle(recipient) + updateSubtitle(recipient, openGroup) } fun updateSubtitle(recipient: Recipient, openGroup: OpenGroup? = null) { @@ -88,15 +88,16 @@ class ConversationActionBarView : LinearLayout { ) } if (recipient.isGroupRecipient) { + val title = if (recipient.isOpenGroupRecipient) { + val userCount = openGroup?.let { lokiApiDb.getUserCount(it.room, it.server) } ?: 0 + context.getString(R.string.ConversationActivity_active_member_count, userCount) + } else { + val userCount = groupDb.getGroupMemberAddresses(recipient.address.toGroupString(), true).size + context.getString(R.string.ConversationActivity_member_count, userCount) + } settings.add( ConversationSetting( - openGroup?.let { - val userCount = lokiApiDb.getUserCount(it.room, it.server) ?: 0 - context.getString(R.string.ConversationActivity_active_member_count, userCount) - } ?: run { - val userCount = groupDb.getGroupMemberAddresses(recipient.address.toGroupString(), true).size - context.getString(R.string.ConversationActivity_member_count, userCount) - }, + title, ConversationSettingType.MEMBER_COUNT, ) ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt index df19b4695b..f52c365da3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt @@ -456,7 +456,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe actionBar.title = "" actionBar.setDisplayHomeAsUpEnabled(true) actionBar.setHomeButtonEnabled(true) - binding!!.toolbarContent.bind(recipient, this) + binding!!.toolbarContent.bind(this, recipient, viewModel.openGroup) maybeUpdateToolbar(recipient) } @@ -647,7 +647,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe } private fun maybeUpdateToolbar(recipient: Recipient) { - binding?.toolbarContent?.update(recipient) + binding?.toolbarContent?.update(recipient, viewModel.openGroup) val profilePictureView = overflowMenuItem?.actionView?.findViewById(R.id.profilePictureView) profilePictureView?.glide = glide MentionManagerUtilities.populateUserPublicKeyCacheIfNeeded(viewModel.threadId, this)