From d27f0e22225a3f6e5a6ce0567477cdac59260d7b Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Mon, 1 Aug 2022 22:04:40 +0200 Subject: [PATCH] preoperly theme quoted messages for Material 3 including alignment Signed-off-by: Andy Scherzinger --- .../messages/MagicIncomingTextMessageViewHolder.kt | 14 +++++++++----- .../MagicOutcomingTextMessageViewHolder.kt | 12 +++--------- .../com/nextcloud/talk/ui/theme/ViewThemeUtils.kt | 6 ++++++ app/src/main/res/layout/item_message_quote.xml | 10 ++++++---- 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.kt index e12d67b3f..49eae862e 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.kt @@ -48,6 +48,8 @@ import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedA import com.nextcloud.talk.databinding.ItemCustomIncomingTextMessageBinding import com.nextcloud.talk.models.json.chat.ChatMessage import com.nextcloud.talk.ui.recyclerview.MessageSwipeCallback +import com.nextcloud.talk.ui.theme.ServerTheme +import com.nextcloud.talk.ui.theme.ViewThemeUtils import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.DisplayUtils import com.nextcloud.talk.utils.TextMatchers @@ -64,6 +66,9 @@ class MagicIncomingTextMessageViewHolder(itemView: View, payload: Any) : Message @Inject lateinit var context: Context + @Inject + lateinit var viewThemeUtils: ViewThemeUtils + @Inject lateinit var appPreferences: AppPreferences @@ -181,13 +186,12 @@ class MagicIncomingTextMessageViewHolder(itemView: View, payload: Any) : Message context!!.getText(R.string.nc_nick_guest) else parentChatMessage.actorDisplayName binding.messageQuote.quotedMessage.text = parentChatMessage.text - binding.messageQuote.quotedMessageAuthor - .setTextColor(ContextCompat.getColor(context!!, R.color.textColorMaxContrast)) - if (parentChatMessage.actorId?.equals(message.activeUser!!.userId) == true) { - binding.messageQuote.quoteColoredView.setBackgroundResource(R.color.colorPrimary) + viewThemeUtils.colorPrimaryView(binding.messageQuote.quoteColoredView) } else { - binding.messageQuote.quoteColoredView.setBackgroundResource(R.color.textColorMaxContrast) + binding.messageQuote.quoteColoredView.setBackgroundColor( + ContextCompat.getColor(binding.messageQuote.quoteColoredView.context, R.color.high_emphasis_text) + ) } } diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.kt index 738fe1a7e..1db56195f 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.kt @@ -30,8 +30,8 @@ import android.text.Spannable import android.text.SpannableString import android.util.TypedValue import android.view.View +import androidx.core.content.ContextCompat import androidx.core.content.res.ResourcesCompat -import androidx.core.graphics.ColorUtils import autodagger.AutoInjector import coil.load import com.google.android.flexbox.FlexboxLayout @@ -150,16 +150,10 @@ class MagicOutcomingTextMessageViewHolder(itemView: View) : OutcomingTextMessage binding.messageQuote.quotedMessageAuthor.text = parentChatMessage.actorDisplayName ?: context!!.getText(R.string.nc_nick_guest) binding.messageQuote.quotedMessage.text = parentChatMessage.text - binding.messageQuote.quotedMessage.setTextColor(serverTheme.colorText) - binding.messageQuote.quotedMessageAuthor.setTextColor( - ColorUtils.setAlphaComponent( - serverTheme.colorText, - ALPHA_80_INT - ) + binding.messageQuote.quoteColoredView.setBackgroundColor( + ContextCompat.getColor(binding.messageQuote.quoteColoredView.context, R.color.high_emphasis_text) ) - - binding.messageQuote.quoteColoredView.setBackgroundColor(serverTheme.colorText) } private fun setBubbleOnChatMessage(message: ChatMessage) { diff --git a/app/src/main/java/com/nextcloud/talk/ui/theme/ViewThemeUtils.kt b/app/src/main/java/com/nextcloud/talk/ui/theme/ViewThemeUtils.kt index eb5350486..432cc4f4c 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/theme/ViewThemeUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/ui/theme/ViewThemeUtils.kt @@ -195,6 +195,12 @@ class ViewThemeUtils @Inject constructor(private val theme: ServerTheme, private } } + fun colorPrimaryView(view: View) { + withScheme(view) { scheme -> + view.setBackgroundColor(scheme.primary) + } + } + /** * Colors the background as element color and the foreground as text color. */ diff --git a/app/src/main/res/layout/item_message_quote.xml b/app/src/main/res/layout/item_message_quote.xml index 2144d2a66..8e28e1cd3 100644 --- a/app/src/main/res/layout/item_message_quote.xml +++ b/app/src/main/res/layout/item_message_quote.xml @@ -1,4 +1,5 @@ -