Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- adapter.submitList(items.toMutableList())
- class AppDiffCallback : DiffUtil.ItemCallback<Item?>() {
- override fun areItemsTheSame(oldItem: Item, newItem: Item): Boolean {
- Timber.i("areItemsTheSame: called..")
- if (oldItem.getItemType() == newItem.getItemType()) {
- Timber.i("areItemsTheSame: done true..")
- return true
- }
- Timber.w("areItemsTheSame: done false..")
- return false
- }
- override fun areContentsTheSame(oldItem: Item, newItem: Item): Boolean {
- Timber.i("areContentsTheSame: called")
- if(oldItem.getItemType() != newItem.getItemType()){
- Timber.w("areContentsTheSame: itemsNotTheSame WTF???}")
- return false
- }
- return when (oldItem.getItemType()) {
- Item.HEADER -> checkHeaderContent(oldItem = oldItem as ItemHeader, newItem = newItem as ItemHeader)
- Item.ITEM_ACTION -> checkItemContent(oldItem = oldItem as ItemAction, newItem = newItem as ItemAction)
- else -> false
- }
- }
- private fun checkHeaderContent(oldItem: ItemHeader, newItem:
- ItemHeader): Boolean {
- val itemContentTheSame = oldItem.date.toDate().time ==
- newItem.date.toDate().time
- return itemContentTheSame
- }
- private fun checkItemContent(oldItem: ItemAction, newItem: ItemAction): Boolean {
- val itemContentTheSame = oldItem.action == newItem.action
- return itemContentTheSame
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement