Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
AloqaIM-Android
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
AloqaIM-Android
Commits
b9074c5d
Commit
b9074c5d
authored
Feb 22, 2018
by
Leonardo Aramaki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Get emoji keyboard category tab icon from resources instead of spanned text
parent
bb283ca0
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
16 deletions
+40
-16
CategoryPagerAdapter.kt
.../chat/rocket/android/widget/emoji/CategoryPagerAdapter.kt
+4
-3
EmojiCategory.kt
...in/java/chat/rocket/android/widget/emoji/EmojiCategory.kt
+33
-10
EmojiFragment.kt
...in/java/chat/rocket/android/widget/emoji/EmojiFragment.kt
+3
-3
No files found.
app/src/main/java/chat/rocket/android/widget/emoji/CategoryPagerAdapter.kt
View file @
b9074c5d
...
@@ -24,10 +24,11 @@ class CategoryPagerAdapter(val listener: EmojiKeyboardListener) : PagerAdapter()
...
@@ -24,10 +24,11 @@ class CategoryPagerAdapter(val listener: EmojiKeyboardListener) : PagerAdapter()
val
recycler
=
view
.
findViewById
(
R
.
id
.
emojiRecyclerView
)
as
RecyclerView
val
recycler
=
view
.
findViewById
(
R
.
id
.
emojiRecyclerView
)
as
RecyclerView
val
adapter
=
EmojiAdapter
(
layoutManager
.
spanCount
,
listener
)
val
adapter
=
EmojiAdapter
(
layoutManager
.
spanCount
,
listener
)
val
category
=
EmojiCategory
.
values
().
get
(
position
)
val
category
=
EmojiCategory
.
values
().
get
(
position
)
val
emojis
=
if
(
category
!=
EmojiCategory
.
RECENTS
)
val
emojis
=
if
(
category
!=
EmojiCategory
.
RECENTS
)
{
EmojiRepository
.
getEmojisByCategory
(
category
)
EmojiRepository
.
getEmojisByCategory
(
category
)
else
}
else
{
EmojiRepository
.
getRecents
()
EmojiRepository
.
getRecents
()
}
adapter
.
addEmojis
(
emojis
)
adapter
.
addEmojis
(
emojis
)
recycler
.
layoutManager
=
layoutManager
recycler
.
layoutManager
=
layoutManager
recycler
.
itemAnimator
=
DefaultItemAnimator
()
recycler
.
itemAnimator
=
DefaultItemAnimator
()
...
@@ -43,7 +44,7 @@ class CategoryPagerAdapter(val listener: EmojiKeyboardListener) : PagerAdapter()
...
@@ -43,7 +44,7 @@ class CategoryPagerAdapter(val listener: EmojiKeyboardListener) : PagerAdapter()
override
fun
getCount
()
=
EmojiCategory
.
values
().
size
override
fun
getCount
()
=
EmojiCategory
.
values
().
size
override
fun
getPageTitle
(
position
:
Int
)
=
EmojiCategory
.
values
()[
position
].
i
con
()
override
fun
getPageTitle
(
position
:
Int
)
=
EmojiCategory
.
values
()[
position
].
textI
con
()
class
EmojiAdapter
(
val
spanCount
:
Int
,
val
listener
:
EmojiKeyboardListener
)
:
RecyclerView
.
Adapter
<
EmojiRowViewHolder
>()
{
class
EmojiAdapter
(
val
spanCount
:
Int
,
val
listener
:
EmojiKeyboardListener
)
:
RecyclerView
.
Adapter
<
EmojiRowViewHolder
>()
{
...
...
app/src/main/java/chat/rocket/android/widget/emoji/EmojiCategory.kt
View file @
b9074c5d
package
chat.rocket.android.widget.emoji
package
chat.rocket.android.widget.emoji
import
android.support.annotation.DrawableRes
import
android.text.SpannableString
import
android.text.SpannableString
import
android.text.Spanned
import
android.text.Spanned
import
chat.rocket.android.R
enum
class
EmojiCategory
{
enum
class
EmojiCategory
{
RECENTS
{
RECENTS
{
override
fun
icon
()
=
getTextIconFor
(
"\uD83D\uDD58"
)
override
fun
resourceIcon
()
=
R
.
drawable
.
ic_emoji_recents
override
fun
textIcon
()
=
getTextIconFor
(
"\uD83D\uDD58"
)
},
},
PEOPLE
()
{
PEOPLE
()
{
override
fun
icon
()
=
getTextIconFor
(
"\uD83D\uDE00"
)
override
fun
resourceIcon
()
=
R
.
drawable
.
ic_emoji_people
override
fun
textIcon
()
=
getTextIconFor
(
"\uD83D\uDE00"
)
},
},
NATURE
{
NATURE
{
override
fun
icon
()
=
getTextIconFor
(
"\uD83D\uDC3B"
)
override
fun
resourceIcon
()
=
R
.
drawable
.
ic_emoji_nature
override
fun
textIcon
()
=
getTextIconFor
(
"\uD83D\uDC3B"
)
},
},
FOOD
{
FOOD
{
override
fun
icon
()
=
getTextIconFor
(
"\uD83C\uDF4E"
)
override
fun
resourceIcon
()
=
R
.
drawable
.
ic_emoji_food
override
fun
textIcon
()
=
getTextIconFor
(
"\uD83C\uDF4E"
)
},
},
ACTIVITY
{
ACTIVITY
{
override
fun
icon
()
=
getTextIconFor
(
"\uD83D\uDEB4"
)
override
fun
resourceIcon
()
=
R
.
drawable
.
ic_emoji_activity
override
fun
textIcon
()
=
getTextIconFor
(
"\uD83D\uDEB4"
)
},
},
TRAVEL
{
TRAVEL
{
override
fun
icon
()
=
getTextIconFor
(
"\uD83C\uDFD9️"
)
override
fun
resourceIcon
()
=
R
.
drawable
.
ic_emoji_travel
override
fun
textIcon
()
=
getTextIconFor
(
"\uD83C\uDFD9️"
)
},
},
OBJECTS
{
OBJECTS
{
override
fun
icon
()
=
getTextIconFor
(
"\uD83D\uDD2A"
)
override
fun
resourceIcon
()
=
R
.
drawable
.
ic_emoji_objects
override
fun
textIcon
()
=
getTextIconFor
(
"\uD83D\uDD2A"
)
},
},
SYMBOLS
{
SYMBOLS
{
override
fun
icon
()
=
getTextIconFor
(
"⚛"
)
override
fun
resourceIcon
()
=
R
.
drawable
.
ic_emoji_symbols
override
fun
textIcon
()
=
getTextIconFor
(
"⚛"
)
},
},
FLAGS
{
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
{
protected
fun
getTextIconFor
(
text
:
String
):
CharSequence
{
val
span
=
EmojiTypefaceSpan
(
"sans-serif"
,
EmojiRepository
.
cachedTypeface
)
val
span
=
EmojiTypefaceSpan
(
"sans-serif"
,
EmojiRepository
.
cachedTypeface
)
...
...
app/src/main/java/chat/rocket/android/widget/emoji/EmojiFragment.kt
View file @
b9074c5d
...
@@ -14,7 +14,7 @@ import android.view.View
...
@@ -14,7 +14,7 @@ import android.view.View
import
android.view.ViewGroup
import
android.view.ViewGroup
import
android.view.ViewTreeObserver
import
android.view.ViewTreeObserver
import
android.widget.EditText
import
android.widget.EditText
import
android.widget.
Text
View
import
android.widget.
Image
View
import
chat.rocket.android.R
import
chat.rocket.android.R
import
chat.rocket.android.util.extensions.setVisible
import
chat.rocket.android.util.extensions.setVisible
...
@@ -131,8 +131,8 @@ class EmojiFragment : Fragment() {
...
@@ -131,8 +131,8 @@ class EmojiFragment : Fragment() {
val
tab
=
tabLayout
.
getTabAt
(
category
.
ordinal
)
val
tab
=
tabLayout
.
getTabAt
(
category
.
ordinal
)
val
tabView
=
layoutInflater
.
inflate
(
R
.
layout
.
emoji_picker_tab
,
null
)
val
tabView
=
layoutInflater
.
inflate
(
R
.
layout
.
emoji_picker_tab
,
null
)
tab
?.
setCustomView
(
tabView
)
tab
?.
setCustomView
(
tabView
)
val
textView
=
tabView
.
findViewById
(
R
.
id
.
text
)
as
Text
View
val
textView
=
tabView
.
findViewById
(
R
.
id
.
image_category
)
as
Image
View
textView
.
text
=
category
.
icon
(
)
textView
.
setImageResource
(
category
.
resourceIcon
()
)
}
}
val
currentTab
=
if
(
EmojiRepository
.
getRecents
().
isEmpty
())
EmojiCategory
.
PEOPLE
.
ordinal
else
val
currentTab
=
if
(
EmojiRepository
.
getRecents
().
isEmpty
())
EmojiCategory
.
PEOPLE
.
ordinal
else
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment