Cleanup ConversationActionBarView

This commit is contained in:
Andrew 2024-02-17 23:34:05 +10:30
parent 74d96fa926
commit 9fd244d86a

View File

@ -7,6 +7,7 @@ import android.view.ViewGroup
import android.widget.LinearLayout import android.widget.LinearLayout
import androidx.annotation.DimenRes import androidx.annotation.DimenRes
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.core.view.marginEnd
import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
@ -98,14 +99,11 @@ class ConversationActionBarView : LinearLayout {
} }
updateSubtitle(recipient, openGroup, config) updateSubtitle(recipient, openGroup, config)
val marginEnd = if (recipient.showCallMenu()) { binding.conversationTitleContainer.apply {
0 layoutParams = (layoutParams as MarginLayoutParams).apply {
} else { marginEnd = if (recipient.showCallMenu()) 0 else binding.profilePictureView.width
binding.profilePictureView.width }
} }
val lp = binding.conversationTitleContainer.layoutParams as MarginLayoutParams
lp.marginEnd = marginEnd
binding.conversationTitleContainer.layoutParams = lp
} }
fun updateSubtitle(recipient: Recipient, openGroup: OpenGroup? = null, config: ExpirationConfiguration? = null) { fun updateSubtitle(recipient: Recipient, openGroup: OpenGroup? = null, config: ExpirationConfiguration? = null) {
@ -116,26 +114,22 @@ class ConversationActionBarView : LinearLayout {
} else { } else {
context.getString(R.string.expiration_type_disappear_after_send) context.getString(R.string.expiration_type_disappear_after_send)
} }
settings.add( settings += ConversationSetting(
ConversationSetting( "$prefix - ${ExpirationUtil.getExpirationAbbreviatedDisplayValue(context, config.expiryMode.expirySeconds)}" ,
"$prefix - ${ExpirationUtil.getExpirationAbbreviatedDisplayValue(context, config.expiryMode.expirySeconds)}" , ConversationSettingType.EXPIRATION,
ConversationSettingType.EXPIRATION, R.drawable.ic_timer,
R.drawable.ic_timer, resources.getString(R.string.AccessibilityId_disappearing_messages_type_and_time)
resources.getString(R.string.AccessibilityId_disappearing_messages_type_and_time)
)
) )
} }
if (recipient.isMuted) { if (recipient.isMuted) {
settings.add( settings += ConversationSetting(
ConversationSetting( if (recipient.mutedUntil != Long.MAX_VALUE) {
if (recipient.mutedUntil != Long.MAX_VALUE) { context.getString(R.string.ConversationActivity_muted_until_date, DateUtils.getFormattedDateTime(recipient.mutedUntil, "EEE, MMM d, yyyy HH:mm", Locale.getDefault()))
context.getString(R.string.ConversationActivity_muted_until_date, DateUtils.getFormattedDateTime(recipient.mutedUntil, "EEE, MMM d, yyyy HH:mm", Locale.getDefault())) } else {
} else { context.getString(R.string.ConversationActivity_muted_forever)
context.getString(R.string.ConversationActivity_muted_forever) },
}, ConversationSettingType.NOTIFICATION,
ConversationSettingType.NOTIFICATION, R.drawable.ic_outline_notifications_off_24
R.drawable.ic_outline_notifications_off_24
)
) )
} }
if (recipient.isGroupRecipient) { if (recipient.isGroupRecipient) {
@ -146,12 +140,7 @@ class ConversationActionBarView : LinearLayout {
val userCount = groupDb.getGroupMemberAddresses(recipient.address.toGroupString(), true).size val userCount = groupDb.getGroupMemberAddresses(recipient.address.toGroupString(), true).size
context.getString(R.string.ConversationActivity_member_count, userCount) context.getString(R.string.ConversationActivity_member_count, userCount)
} }
settings.add( settings += ConversationSetting(title, ConversationSettingType.MEMBER_COUNT)
ConversationSetting(
title,
ConversationSettingType.MEMBER_COUNT,
)
)
} }
settingsAdapter.submitList(settings) settingsAdapter.submitList(settings)
binding.settingsTabLayout.isVisible = settings.size > 1 binding.settingsTabLayout.isVisible = settings.size > 1