Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. adapter.submitList(items.toMutableList())
  2.  
  3. class AppDiffCallback : DiffUtil.ItemCallback<Item?>() {
  4.  
  5. override fun areItemsTheSame(oldItem: Item, newItem: Item): Boolean {
  6. Timber.i("areItemsTheSame: called..")
  7. if (oldItem.getItemType() == newItem.getItemType()) {
  8. Timber.i("areItemsTheSame: done true..")
  9. return true
  10. }
  11. Timber.w("areItemsTheSame: done false..")
  12. return false
  13. }
  14.  
  15. override fun areContentsTheSame(oldItem: Item, newItem: Item): Boolean {
  16. Timber.i("areContentsTheSame: called")
  17. if(oldItem.getItemType() != newItem.getItemType()){
  18. Timber.w("areContentsTheSame: itemsNotTheSame WTF???}")
  19. return false
  20. }
  21.  
  22. return when (oldItem.getItemType()) {
  23. Item.HEADER -> checkHeaderContent(oldItem = oldItem as ItemHeader, newItem = newItem as ItemHeader)
  24. Item.ITEM_ACTION -> checkItemContent(oldItem = oldItem as ItemAction, newItem = newItem as ItemAction)
  25. else -> false
  26. }
  27. }
  28.  
  29. private fun checkHeaderContent(oldItem: ItemHeader, newItem:
  30. ItemHeader): Boolean {
  31. val itemContentTheSame = oldItem.date.toDate().time ==
  32. newItem.date.toDate().time
  33. return itemContentTheSame
  34. }
  35.  
  36. private fun checkItemContent(oldItem: ItemAction, newItem: ItemAction): Boolean {
  37. val itemContentTheSame = oldItem.action == newItem.action
  38. return itemContentTheSame
  39. }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement