Skip to content
Snippets Groups Projects
Verified Commit 6d8c45b5 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Fixes #100

parent 02480299
Branches
Tags
No related merge requests found
...@@ -163,6 +163,9 @@ class ChatlineFragment : ServiceBoundFragment() { ...@@ -163,6 +163,9 @@ class ChatlineFragment : ServiceBoundFragment() {
messageHistory.adapter = messageHistoryAdapter messageHistory.adapter = messageHistoryAdapter
viewModel.recentlySentMessages.toLiveData() viewModel.recentlySentMessages.toLiveData()
.observe(this, Observer(messageHistoryAdapter::submitList)) .observe(this, Observer(messageHistoryAdapter::submitList))
messageHistoryAdapter.setOnUpdateFinishedListener {
messageHistory.scrollToPosition(0)
}
fun send() { fun send() {
if (chatline.safeText.isNotBlank()) { if (chatline.safeText.isNotBlank()) {
......
...@@ -24,11 +24,11 @@ import android.view.View ...@@ -24,11 +24,11 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.TextView import android.widget.TextView
import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import butterknife.BindView import butterknife.BindView
import butterknife.ButterKnife import butterknife.ButterKnife
import de.kuschku.quasseldroid.R import de.kuschku.quasseldroid.R
import de.kuschku.quasseldroid.util.lists.ListAdapter
class MessageHistoryAdapter : ListAdapter<CharSequence, MessageHistoryAdapter.MessageViewHolder>( class MessageHistoryAdapter : ListAdapter<CharSequence, MessageHistoryAdapter.MessageViewHolder>(
object : DiffUtil.ItemCallback<CharSequence>() { object : DiffUtil.ItemCallback<CharSequence>() {
...@@ -39,17 +39,26 @@ class MessageHistoryAdapter : ListAdapter<CharSequence, MessageHistoryAdapter.Me ...@@ -39,17 +39,26 @@ class MessageHistoryAdapter : ListAdapter<CharSequence, MessageHistoryAdapter.Me
oldItem == newItem oldItem == newItem
}) { }) {
private var clickListener: ((CharSequence) -> Unit)? = null private var clickListener: ((CharSequence) -> Unit)? = null
private var updateFinishedListener: (() -> Unit)? = null
fun setOnItemClickListener(listener: (CharSequence) -> Unit) { fun setOnItemClickListener(listener: ((CharSequence) -> Unit)?) {
this.clickListener = listener this.clickListener = listener
} }
fun setOnUpdateFinishedListener(listener: (() -> Unit)?) {
this.updateFinishedListener = listener
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) =
MessageViewHolder( MessageViewHolder(
LayoutInflater.from(parent.context).inflate(R.layout.widget_history_message, parent, false), LayoutInflater.from(parent.context).inflate(R.layout.widget_history_message, parent, false),
clickListener = clickListener clickListener = clickListener
) )
override fun onUpdateFinished(list: List<CharSequence>) {
updateFinishedListener?.invoke()
}
override fun onBindViewHolder(holder: MessageViewHolder, position: Int) = override fun onBindViewHolder(holder: MessageViewHolder, position: Int) =
holder.bind(getItem(position)) holder.bind(getItem(position))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment