From af4d7f53555a137db3b594935284857b4c1bb545 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Sat, 24 Mar 2018 19:02:54 +0100 Subject: [PATCH] Fix same issue as before, but properly --- .../quasseldroid/ui/chat/buffers/BufferListAdapter.kt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferListAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferListAdapter.kt index ca154ae8e..de653dc1e 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferListAdapter.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferListAdapter.kt @@ -38,7 +38,7 @@ class BufferListAdapter( private val clickListener: ((BufferId) -> Unit)? = null, private val longClickListener: ((BufferId) -> Unit)? = null ) : RecyclerView.Adapter<BufferListAdapter.BufferViewHolder>() { - var data = mutableListOf<BufferListItem>() + var data = emptyList<BufferListItem>() fun expandListener(networkId: NetworkId) { if (collapsedNetworks.value.orEmpty().contains(networkId)) @@ -62,7 +62,7 @@ class BufferListAdapter( init { liveData.zip(collapsedNetworks.toLiveData(), selectedBuffer.toLiveData()).observe( lifecycleOwner, Observer { it: Triple<List<BufferProps>?, Set<NetworkId>, BufferId>? -> - val old: List<BufferListItem> = ArrayList(data) + val old: List<BufferListItem> = data runInBackground { val list = it?.first ?: emptyList() val collapsedNetworks = it?.second ?: emptySet() @@ -98,8 +98,7 @@ class BufferListAdapter( ) runOnUiThread( Runnable { - data.clear() - data.addAll(new) + data = new result.dispatchUpdatesTo(this@BufferListAdapter) }) } -- GitLab