preoperly theme quoted messages for Material 3 including alignment

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
Andy Scherzinger 2022-08-01 22:04:40 +02:00
parent 3d88392930
commit d27f0e2222
No known key found for this signature in database
GPG Key ID: 6CADC7E3523C308B
4 changed files with 24 additions and 18 deletions

View File

@ -48,6 +48,8 @@ import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedA
import com.nextcloud.talk.databinding.ItemCustomIncomingTextMessageBinding import com.nextcloud.talk.databinding.ItemCustomIncomingTextMessageBinding
import com.nextcloud.talk.models.json.chat.ChatMessage import com.nextcloud.talk.models.json.chat.ChatMessage
import com.nextcloud.talk.ui.recyclerview.MessageSwipeCallback 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.ApiUtils
import com.nextcloud.talk.utils.DisplayUtils import com.nextcloud.talk.utils.DisplayUtils
import com.nextcloud.talk.utils.TextMatchers import com.nextcloud.talk.utils.TextMatchers
@ -64,6 +66,9 @@ class MagicIncomingTextMessageViewHolder(itemView: View, payload: Any) : Message
@Inject @Inject
lateinit var context: Context lateinit var context: Context
@Inject
lateinit var viewThemeUtils: ViewThemeUtils
@Inject @Inject
lateinit var appPreferences: AppPreferences 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 context!!.getText(R.string.nc_nick_guest) else parentChatMessage.actorDisplayName
binding.messageQuote.quotedMessage.text = parentChatMessage.text binding.messageQuote.quotedMessage.text = parentChatMessage.text
binding.messageQuote.quotedMessageAuthor
.setTextColor(ContextCompat.getColor(context!!, R.color.textColorMaxContrast))
if (parentChatMessage.actorId?.equals(message.activeUser!!.userId) == true) { if (parentChatMessage.actorId?.equals(message.activeUser!!.userId) == true) {
binding.messageQuote.quoteColoredView.setBackgroundResource(R.color.colorPrimary) viewThemeUtils.colorPrimaryView(binding.messageQuote.quoteColoredView)
} else { } else {
binding.messageQuote.quoteColoredView.setBackgroundResource(R.color.textColorMaxContrast) binding.messageQuote.quoteColoredView.setBackgroundColor(
ContextCompat.getColor(binding.messageQuote.quoteColoredView.context, R.color.high_emphasis_text)
)
} }
} }

View File

@ -30,8 +30,8 @@ import android.text.Spannable
import android.text.SpannableString import android.text.SpannableString
import android.util.TypedValue import android.util.TypedValue
import android.view.View import android.view.View
import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.core.graphics.ColorUtils
import autodagger.AutoInjector import autodagger.AutoInjector
import coil.load import coil.load
import com.google.android.flexbox.FlexboxLayout import com.google.android.flexbox.FlexboxLayout
@ -150,16 +150,10 @@ class MagicOutcomingTextMessageViewHolder(itemView: View) : OutcomingTextMessage
binding.messageQuote.quotedMessageAuthor.text = parentChatMessage.actorDisplayName binding.messageQuote.quotedMessageAuthor.text = parentChatMessage.actorDisplayName
?: context!!.getText(R.string.nc_nick_guest) ?: context!!.getText(R.string.nc_nick_guest)
binding.messageQuote.quotedMessage.text = parentChatMessage.text binding.messageQuote.quotedMessage.text = parentChatMessage.text
binding.messageQuote.quotedMessage.setTextColor(serverTheme.colorText)
binding.messageQuote.quotedMessageAuthor.setTextColor( binding.messageQuote.quoteColoredView.setBackgroundColor(
ColorUtils.setAlphaComponent( ContextCompat.getColor(binding.messageQuote.quoteColoredView.context, R.color.high_emphasis_text)
serverTheme.colorText,
ALPHA_80_INT
)
) )
binding.messageQuote.quoteColoredView.setBackgroundColor(serverTheme.colorText)
} }
private fun setBubbleOnChatMessage(message: ChatMessage) { private fun setBubbleOnChatMessage(message: ChatMessage) {

View File

@ -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. * Colors the background as element color and the foreground as text color.
*/ */

View File

@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- <?xml version="1.0" encoding="utf-8"?>
<!--
~ Nextcloud Talk application ~ Nextcloud Talk application
~ ~
~ @author Mario Danic ~ @author Mario Danic
@ -34,8 +35,8 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_alignBottom="@id/flexboxQuoted" android:layout_alignBottom="@id/flexboxQuoted"
android:layout_alignParentStart="true" android:layout_alignParentStart="true"
android:layout_marginEnd="4dp" android:layout_marginEnd="8dp"
android:background="@color/colorPrimary" /> android:background="@color/high_emphasis_text" />
<androidx.emoji.widget.EmojiTextView <androidx.emoji.widget.EmojiTextView
android:id="@+id/quotedMessageAuthor" android:id="@+id/quotedMessageAuthor"
@ -46,7 +47,7 @@
android:layout_toEndOf="@id/quoteColoredView" android:layout_toEndOf="@id/quoteColoredView"
android:ellipsize="end" android:ellipsize="end"
android:textAlignment="viewStart" android:textAlignment="viewStart"
android:textColor="@color/textColorMaxContrast" android:textColor="@color/medium_emphasis_text"
android:textIsSelectable="false" android:textIsSelectable="false"
android:textSize="12sp" android:textSize="12sp"
tools:text="Jane Doe" /> tools:text="Jane Doe" />
@ -85,6 +86,7 @@
android:layout_alignStart="@id/quotedMessageAuthor" android:layout_alignStart="@id/quotedMessageAuthor"
android:lineSpacingMultiplier="1.2" android:lineSpacingMultiplier="1.2"
android:textAlignment="viewStart" android:textAlignment="viewStart"
android:textColor="@color/high_emphasis_text"
android:textIsSelectable="false" android:textIsSelectable="false"
android:textSize="14sp" android:textSize="14sp"
app:layout_alignSelf="flex_start" app:layout_alignSelf="flex_start"