update the conversation if something changes, avoid recreating it

This commit is contained in:
tibbi 2021-01-01 20:45:10 +01:00
parent ac7d2afbb6
commit 71d7085ddb
2 changed files with 22 additions and 6 deletions

View file

@ -195,10 +195,13 @@ class ThreadAdapter(activity: SimpleActivity, var messages: ArrayList<ThreadItem
private fun isThreadDateTime(position: Int) = messages.getOrNull(position) is ThreadDateTime
override fun onViewRecycled(holder: ViewHolder) {
super.onViewRecycled(holder)
if (!activity.isDestroyed && !activity.isFinishing && holder.itemView.thread_message_sender_photo != null) {
Glide.with(activity).clear(holder.itemView.thread_message_sender_photo)
fun updateMessages(newMessages: ArrayList<ThreadItem>) {
val oldHashCode = messages.hashCode()
val newHashCode = newMessages.hashCode()
if (newHashCode != oldHashCode) {
messages = newMessages
notifyDataSetChanged()
recyclerView.scrollToPosition(messages.size-1)
}
}
@ -347,4 +350,11 @@ class ThreadAdapter(activity: SimpleActivity, var messages: ArrayList<ThreadItem
setTextColor(textColor)
}
}
override fun onViewRecycled(holder: ViewHolder) {
super.onViewRecycled(holder)
if (!activity.isDestroyed && !activity.isFinishing && holder.itemView.thread_message_sender_photo != null) {
Glide.with(activity).clear(holder.itemView.thread_message_sender_photo)
}
}
}