diff --git a/app/src/main/kotlin/org/fossify/messages/adapters/BaseConversationsAdapter.kt b/app/src/main/kotlin/org/fossify/messages/adapters/BaseConversationsAdapter.kt index 3259bc51..7b5e7559 100644 --- a/app/src/main/kotlin/org/fossify/messages/adapters/BaseConversationsAdapter.kt +++ b/app/src/main/kotlin/org/fossify/messages/adapters/BaseConversationsAdapter.kt @@ -30,7 +30,7 @@ abstract class BaseConversationsAdapter( activity: SimpleActivity, recyclerView: MyRecyclerView, onRefresh: () -> Unit, - itemClick: (Any) -> Unit + itemClick: (Any) -> Unit, ) : MyRecyclerViewListAdapter( activity = activity, recyclerView = recyclerView, @@ -46,10 +46,8 @@ abstract class BaseConversationsAdapter( init { setupDragListener(true) - ensureBackgroundThread { - fetchDrafts(drafts) - } setHasStableIds(true) + updateDrafts() registerAdapterDataObserver(object : RecyclerView.AdapterDataObserver() { override fun onChanged() = restoreRecyclerViewState() @@ -69,7 +67,7 @@ abstract class BaseConversationsAdapter( fun updateConversations( newConversations: ArrayList, - commitCallback: (() -> Unit)? = null + commitCallback: (() -> Unit)? = null, ) { saveRecyclerViewState() submitList(newConversations.toList(), commitCallback) @@ -80,9 +78,9 @@ abstract class BaseConversationsAdapter( ensureBackgroundThread { val newDrafts = HashMap() fetchDrafts(newDrafts) - if (drafts.hashCode() != newDrafts.hashCode()) { - drafts = newDrafts - activity.runOnUiThread { + activity.runOnUiThread { + if (drafts.hashCode() != newDrafts.hashCode()) { + drafts = newDrafts notifyDataSetChanged() } }