Add support for single emojis

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2020-04-09 13:05:30 +02:00
parent 93b745ae6f
commit b9ff070884
No known key found for this signature in database
GPG Key ID: CDE0BBD2738C4CC0

View File

@ -3,6 +3,7 @@ package com.nextcloud.talk.newarch.features.chat
import android.content.Context import android.content.Context
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.graphics.drawable.LayerDrawable import android.graphics.drawable.LayerDrawable
import android.util.TypedValue
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.view.isVisible import androidx.core.view.isVisible
@ -14,11 +15,13 @@ import com.nextcloud.talk.models.json.chat.ChatMessage
import com.nextcloud.talk.newarch.features.chat.interfaces.ImageLoaderInterface import com.nextcloud.talk.newarch.features.chat.interfaces.ImageLoaderInterface
import com.nextcloud.talk.utils.DisplayUtils import com.nextcloud.talk.utils.DisplayUtils
import com.nextcloud.talk.utils.DrawableUtils.getDrawableResourceIdForMimeType import com.nextcloud.talk.utils.DrawableUtils.getDrawableResourceIdForMimeType
import com.nextcloud.talk.utils.TextMatchers
import com.otaliastudios.elements.Element import com.otaliastudios.elements.Element
import com.otaliastudios.elements.Page import com.otaliastudios.elements.Page
import com.otaliastudios.elements.Presenter import com.otaliastudios.elements.Presenter
import com.otaliastudios.elements.extensions.HeaderSource import com.otaliastudios.elements.extensions.HeaderSource
import com.stfalcon.chatkit.utils.DateFormatter import com.stfalcon.chatkit.utils.DateFormatter
import com.vanniktech.emoji.EmojiUtils
import kotlinx.android.synthetic.main.item_message_quote.view.* import kotlinx.android.synthetic.main.item_message_quote.view.*
import kotlinx.android.synthetic.main.rv_chat_item.view.* import kotlinx.android.synthetic.main.rv_chat_item.view.*
import kotlinx.android.synthetic.main.rv_chat_system_item.view.* import kotlinx.android.synthetic.main.rv_chat_system_item.view.*
@ -78,6 +81,11 @@ open class ChatPresenter<T : Any>(context: Context, private val onElementClickPa
holder.itemView.messageTime?.text = DateFormatter.format(it.createdAt, DateFormatter.Template.TIME) holder.itemView.messageTime?.text = DateFormatter.format(it.createdAt, DateFormatter.Template.TIME)
holder.itemView.chatMessage.text = it.text holder.itemView.chatMessage.text = it.text
if (TextMatchers.isMessageWithSingleEmoticonOnly(it.text)) {
holder.itemView.chatMessage.setTextSize(TypedValue.COMPLEX_UNIT_SP, 24f)
} else {
holder.itemView.chatMessage.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12f)
}
if (shouldShowNameAndAvatar) { if (shouldShowNameAndAvatar) {
holder.itemView.authorLayout.isVisible = true holder.itemView.authorLayout.isVisible = true