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
37e9e29d
Commit
37e9e29d
authored
Sep 22, 2017
by
Filipe de Lima Brito
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update RoomMessagesAdapter.kt
parent
4103b0db
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
10 deletions
+37
-10
RoomMessagesAdapter.kt
...android/layouthelper/chatroom/list/RoomMessagesAdapter.kt
+37
-10
No files found.
app/src/main/java/chat/rocket/android/layouthelper/chatroom/list/RoomMessagesAdapter.kt
View file @
37e9e29d
...
...
@@ -11,11 +11,15 @@ import chat.rocket.android.helper.DateTime
import
chat.rocket.android.widget.RocketChatAvatar
import
chat.rocket.android.widget.helper.AvatarHelper
import
chat.rocket.android.widget.message.RocketChatMessageLayout
import
chat.rocket.android.widget.message.RocketChatMessageUrlsLayout
import
chat.rocket.core.models.Message
import
kotlinx.android.synthetic.main.item_room_message.view.*
import
kotlinx.android.synthetic.main.day.view.*
import
kotlinx.android.synthetic.main.item_room_message.view.*
class
RoomMessagesAdapter
(
private
val
dataSet
:
List
<
Message
>,
private
val
hostname
:
String
,
private
val
context
:
Context
)
:
RecyclerView
.
Adapter
<
RoomMessagesAdapter
.
ViewHolder
>()
{
/**
* Created by Filipe de Lima Brito (filipedelimabrito@gmail.com) on 9/22/17.
*/
class
RoomMessagesAdapter
(
private
var
dataSet
:
List
<
Message
>,
private
val
hostname
:
String
,
private
val
context
:
Context
)
:
RecyclerView
.
Adapter
<
RoomMessagesAdapter
.
ViewHolder
>()
{
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
ViewHolder
{
val
view
=
LayoutInflater
.
from
(
parent
.
context
).
inflate
(
R
.
layout
.
item_room_message
,
parent
,
false
)
...
...
@@ -27,25 +31,48 @@ class RoomMessagesAdapter(private val dataSet: List<Message>, private val hostna
holder
.
newDay
.
text
=
DateTime
.
fromEpocMs
(
message
.
timestamp
,
DateTime
.
Format
.
DATE
)
val
username
=
message
.
user
?.
username
if
(
username
!=
null
)
{
val
placeholderDrawable
=
AvatarHelper
.
getTextDrawable
(
username
,
holder
.
userAvatar
.
context
)
holder
.
userAvatar
.
loadImage
(
AvatarHelper
.
getUri
(
hostname
,
username
),
placeholderDrawable
)
holder
.
username
.
text
=
context
.
getString
(
R
.
string
.
username
,
username
)
}
else
{
holder
.
userAvatar
.
visibility
=
View
.
GONE
holder
.
username
.
visibility
=
View
.
GONE
val
user
=
message
.
user
if
(
user
!=
null
)
{
if
(
user
.
name
.
isNullOrBlank
())
{
holder
.
name
.
visibility
=
View
.
GONE
}
else
{
holder
.
name
.
text
=
message
.
user
?.
name
}
val
username
=
user
.
username
if
(
username
!=
null
)
{
val
placeholderDrawable
=
AvatarHelper
.
getTextDrawable
(
username
,
holder
.
userAvatar
.
context
)
holder
.
userAvatar
.
loadImage
(
AvatarHelper
.
getUri
(
hostname
,
username
),
placeholderDrawable
)
holder
.
username
.
text
=
context
.
getString
(
R
.
string
.
username
,
username
)
}
else
{
holder
.
userAvatar
.
visibility
=
View
.
GONE
holder
.
username
.
visibility
=
View
.
GONE
}
}
holder
.
messageBody
.
setText
(
message
.
message
)
val
webContents
=
message
.
webContents
if
(
webContents
!=
null
)
{
holder
.
messageUrl
.
setUrls
(
message
.
webContents
,
true
)
}
else
{
holder
.
messageUrl
.
visibility
=
View
.
GONE
}
}
override
fun
getItemCount
():
Int
=
dataSet
.
size
fun
setDataSet
(
dataSet
:
List
<
Message
>)
{
this
.
dataSet
=
dataSet
notifyDataSetChanged
()
}
class
ViewHolder
(
itemView
:
View
)
:
RecyclerView
.
ViewHolder
(
itemView
)
{
val
newDay
:
TextView
=
itemView
.
day
val
userAvatar
:
RocketChatAvatar
=
itemView
.
userAvatar
val
username
:
TextView
=
itemView
.
username
val
name
:
TextView
=
itemView
.
name
val
messageBody
:
RocketChatMessageLayout
=
itemView
.
messageBody
val
messageUrl
:
RocketChatMessageUrlsLayout
=
itemView
.
messageUrl
}
}
\ No newline at end of file
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