Commit b9074c5d authored by Leonardo Aramaki's avatar Leonardo Aramaki

Get emoji keyboard category tab icon from resources instead of spanned text

parent bb283ca0
......@@ -24,10 +24,11 @@ class CategoryPagerAdapter(val listener: EmojiKeyboardListener) : PagerAdapter()
val recycler = view.findViewById(R.id.emojiRecyclerView) as RecyclerView
val adapter = EmojiAdapter(layoutManager.spanCount, listener)
val category = EmojiCategory.values().get(position)
val emojis = if (category != EmojiCategory.RECENTS)
val emojis = if (category != EmojiCategory.RECENTS) {
EmojiRepository.getEmojisByCategory(category)
else
} else {
EmojiRepository.getRecents()
}
adapter.addEmojis(emojis)
recycler.layoutManager = layoutManager
recycler.itemAnimator = DefaultItemAnimator()
......@@ -43,7 +44,7 @@ class CategoryPagerAdapter(val listener: EmojiKeyboardListener) : PagerAdapter()
override fun getCount() = EmojiCategory.values().size
override fun getPageTitle(position: Int) = EmojiCategory.values()[position].icon()
override fun getPageTitle(position: Int) = EmojiCategory.values()[position].textIcon()
class EmojiAdapter(val spanCount: Int, val listener: EmojiKeyboardListener) : RecyclerView.Adapter<EmojiRowViewHolder>() {
......
package chat.rocket.android.widget.emoji
import android.support.annotation.DrawableRes
import android.text.SpannableString
import android.text.Spanned
import chat.rocket.android.R
enum class EmojiCategory {
RECENTS {
override fun icon() = getTextIconFor("\uD83D\uDD58")
override fun resourceIcon() = R.drawable.ic_emoji_recents
override fun textIcon() = getTextIconFor("\uD83D\uDD58")
},
PEOPLE() {
override fun icon() = getTextIconFor("\uD83D\uDE00")
override fun resourceIcon() = R.drawable.ic_emoji_people
override fun textIcon() = getTextIconFor("\uD83D\uDE00")
},
NATURE {
override fun icon() = getTextIconFor("\uD83D\uDC3B")
override fun resourceIcon() = R.drawable.ic_emoji_nature
override fun textIcon() = getTextIconFor("\uD83D\uDC3B")
},
FOOD {
override fun icon() = getTextIconFor("\uD83C\uDF4E")
override fun resourceIcon() = R.drawable.ic_emoji_food
override fun textIcon() = getTextIconFor("\uD83C\uDF4E")
},
ACTIVITY {
override fun icon() = getTextIconFor("\uD83D\uDEB4")
override fun resourceIcon() = R.drawable.ic_emoji_activity
override fun textIcon() = getTextIconFor("\uD83D\uDEB4")
},
TRAVEL {
override fun icon() = getTextIconFor("\uD83C\uDFD9️")
override fun resourceIcon() = R.drawable.ic_emoji_travel
override fun textIcon() = getTextIconFor("\uD83C\uDFD9️")
},
OBJECTS {
override fun icon() = getTextIconFor("\uD83D\uDD2A")
override fun resourceIcon() = R.drawable.ic_emoji_objects
override fun textIcon() = getTextIconFor("\uD83D\uDD2A")
},
SYMBOLS {
override fun icon() = getTextIconFor("⚛")
override fun resourceIcon() = R.drawable.ic_emoji_symbols
override fun textIcon() = getTextIconFor("⚛")
},
FLAGS {
override fun icon() = getTextIconFor("\uD83D\uDEA9")
override fun resourceIcon() = R.drawable.ic_emoji_flags
override fun textIcon() = getTextIconFor("\uD83D\uDEA9")
};
abstract fun icon(): CharSequence
abstract fun textIcon(): CharSequence
@DrawableRes
abstract fun resourceIcon(): Int
protected fun getTextIconFor(text: String): CharSequence {
val span = EmojiTypefaceSpan("sans-serif", EmojiRepository.cachedTypeface)
......
......@@ -14,7 +14,7 @@ import android.view.View
import android.view.ViewGroup
import android.view.ViewTreeObserver
import android.widget.EditText
import android.widget.TextView
import android.widget.ImageView
import chat.rocket.android.R
import chat.rocket.android.util.extensions.setVisible
......@@ -131,8 +131,8 @@ class EmojiFragment : Fragment() {
val tab = tabLayout.getTabAt(category.ordinal)
val tabView = layoutInflater.inflate(R.layout.emoji_picker_tab, null)
tab?.setCustomView(tabView)
val textView = tabView.findViewById(R.id.text) as TextView
textView.text = category.icon()
val textView = tabView.findViewById(R.id.image_category) as ImageView
textView.setImageResource(category.resourceIcon())
}
val currentTab = if (EmojiRepository.getRecents().isEmpty()) EmojiCategory.PEOPLE.ordinal else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment