diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/MessageAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/MessageAdapter.kt index 0d9ea45bbced1de8d9cc3fa368b21fcf6a255548..f02013c80c2098bb52dfc63d8c893aa2bd3a0426 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/MessageAdapter.kt +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/MessageAdapter.kt @@ -2,7 +2,7 @@ package de.kuschku.quasseldroid_ng.ui.chat.messages import android.arch.paging.PagedListAdapter import android.content.Context -import android.support.v7.recyclerview.extensions.DiffCallback +import android.support.v7.util.DiffUtil import android.util.LruCache import android.view.LayoutInflater import android.view.ViewGroup @@ -18,16 +18,16 @@ class MessageAdapter( appearanceSettings: AppearanceSettings, var markerLinePosition: Pair<MsgId, MsgId>? = null ) : PagedListAdapter<QuasselDatabase.DatabaseMessage, QuasselMessageViewHolder>( - object : DiffCallback<QuasselDatabase.DatabaseMessage>() { + object : DiffUtil.ItemCallback<QuasselDatabase.DatabaseMessage>() { override fun areItemsTheSame(oldItem: QuasselDatabase.DatabaseMessage, - newItem: QuasselDatabase.DatabaseMessage) - = DatabaseMessage.MessageDiffCallback.areItemsTheSame(oldItem, newItem) + newItem: QuasselDatabase.DatabaseMessage) = + DatabaseMessage.MessageDiffCallback.areItemsTheSame(oldItem, newItem) override fun areContentsTheSame(oldItem: QuasselDatabase.DatabaseMessage, - newItem: QuasselDatabase.DatabaseMessage) - = DatabaseMessage.MessageDiffCallback.areContentsTheSame(oldItem, newItem) && - oldItem.messageId != markerLinePosition?.first && - oldItem.messageId != markerLinePosition?.second + newItem: QuasselDatabase.DatabaseMessage) = + DatabaseMessage.MessageDiffCallback.areContentsTheSame(oldItem, newItem) && + oldItem.messageId != markerLinePosition?.first && + oldItem.messageId != markerLinePosition?.second } ) { private val messageRenderer: MessageRenderer = QuasselMessageRenderer( @@ -79,11 +79,10 @@ class MessageAdapter( return getItem(position)?.messageId?.toLong() ?: 0L } - private fun messageType(viewType: Int): Message_Type? - = Message_Type.of(Math.abs(viewType)).enabledValues().firstOrNull() + private fun messageType(viewType: Int): Message_Type? = + Message_Type.of(Math.abs(viewType)).enabledValues().firstOrNull() - private fun hasHiglight(viewType: Int) - = viewType < 0 + private fun hasHiglight(viewType: Int) = viewType < 0 override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): QuasselMessageViewHolder { val messageType = messageType(viewType) diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/MessageListFragment.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/MessageListFragment.kt index 309c5d24fb858b3016816584053579b75e0cfc30..4af1ef6d7fc2e023a1bfdaaa8b1e498d2c43bbd1 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/MessageListFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/MessageListFragment.kt @@ -139,7 +139,7 @@ class MessageListFragment : ServiceBoundFragment() { lastBuffer = buffer adapter.clearCache() } - adapter.setList(list) + adapter.submitList(list) if (firstVisibleItemPosition < 2) { activity?.runOnUiThread { messageList.scrollToPosition(0) } handler.postDelayed({ activity?.runOnUiThread { messageList.scrollToPosition(0) } }, 16) diff --git a/gradle.properties b/gradle.properties index 3084e11b14776bb5d80bc05500299e7852cde3bf..bc84d8ebf906b00d31a036362057a63bef798757 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,4 +10,4 @@ org.gradle.jvmargs=-Xmx2048m # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -org.gradle.parallel=true +org.gradle.parallel=true \ No newline at end of file