From 9d3045172ec8d24a4c7f305643a46e06604be6f3 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Tue, 5 Aug 2025 17:28:52 +0200 Subject: [PATCH] fix(ui): Ensure system messages are 14sp text sized follow up to #5218 Signed-off-by: Andy Scherzinger --- .../adapters/messages/SystemMessageViewHolder.kt | 13 ++++++++++++- .../java/com/nextcloud/talk/utils/DisplayUtils.kt | 3 +-- app/src/main/res/values/dimens.xml | 1 + 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/SystemMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/SystemMessageViewHolder.kt index baf82d2d0..883642d03 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/SystemMessageViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/SystemMessageViewHolder.kt @@ -14,6 +14,7 @@ import android.text.SpannableString import android.text.TextPaint import android.text.method.LinkMovementMethod import android.text.style.ClickableSpan +import android.util.TypedValue import android.view.View import android.view.ViewGroup import androidx.core.content.ContextCompat @@ -76,6 +77,10 @@ class SystemMessageViewHolder(itemView: View) : R.drawable.shape_grouped_incoming_message ) ViewCompat.setBackground(background, bubbleDrawable) + binding.messageText.setTextSize( + TypedValue.COMPLEX_UNIT_PX, + resources.getDimension(R.dimen.chat_system_message_text_size) + ) var messageString: Spannable = SpannableString(message.text) if (message.messageParameters != null && message.messageParameters!!.size > 0) { for (key in message.messageParameters!!.keys) { @@ -89,7 +94,13 @@ class SystemMessageViewHolder(itemView: View) : } else { individualMap["name"] } - messageString = DisplayUtils.searchAndColor(messageString, searchText!!, mentionColor) + messageString = + DisplayUtils.searchAndColor( + messageString, + searchText!!, + mentionColor, + resources.getDimensionPixelSize(R.dimen.chat_system_message_text_size) + ) if (individualMap["link"] != null) { val displayName = individualMap["name"] ?: "" val link = (user.baseUrl + individualMap["link"]) diff --git a/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt index d35ee3663..857adf065 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt @@ -292,7 +292,7 @@ object DisplayUtils { return spannableString } - fun searchAndColor(text: Spannable, searchText: String, @ColorInt color: Int): Spannable { + fun searchAndColor(text: Spannable, searchText: String, @ColorInt color: Int, textSize: Int): Spannable { val spannableString: Spannable = SpannableString(text) val stringText = text.toString() if (TextUtils.isEmpty(text) || TextUtils.isEmpty(searchText)) { @@ -303,7 +303,6 @@ object DisplayUtils { Pattern.CASE_INSENSITIVE or Pattern.LITERAL or Pattern.MULTILINE ) .matcher(spannableString) - val textSize = sharedApplication!!.resources.getDimensionPixelSize(R.dimen.chat_text_size) var lastStartIndex = -1 while (m.find()) { val start = stringText.indexOf(m.group(), lastStartIndex) diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index d8e30fae0..649adf189 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -26,6 +26,7 @@ 52dp 16sp + 14sp 20dp 16dp 12dp