Signal-Android/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiPageModelExtensions.kt

24 wiersze
967 B
Kotlin

package org.thoughtcrime.securesms.keyboard.emoji
import org.thoughtcrime.securesms.components.emoji.EmojiPageModel
import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter
import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel
import org.thoughtcrime.securesms.components.emoji.parsing.EmojiTree
import org.thoughtcrime.securesms.emoji.EmojiCategory
import org.thoughtcrime.securesms.emoji.EmojiSource
import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel
fun EmojiPageModel.toMappingModels(): List<MappingModel<*>> {
val emojiTree: EmojiTree = EmojiSource.latest.emojiTree
return displayEmoji.map {
val isTextEmoji = EmojiCategory.EMOTICONS.key == key || (RecentEmojiPageModel.KEY == key && emojiTree.getEmoji(it.value, 0, it.value.length) == null)
if (isTextEmoji) {
EmojiPageViewGridAdapter.EmojiTextModel(key, it)
} else {
EmojiPageViewGridAdapter.EmojiModel(key, it)
}
}
}