diff options
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesDiffCallback.kt')
-rw-r--r-- | androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesDiffCallback.kt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesDiffCallback.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesDiffCallback.kt new file mode 100644 index 0000000..40e6e9c --- /dev/null +++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesDiffCallback.kt @@ -0,0 +1,20 @@ +package mx.trackermap.TrackerMap.android.devices + +import androidx.recyclerview.widget.DiffUtil +import mx.trackermap.TrackerMap.client.models.UnitInformation + +class DevicesDiffCallback( + private val oldList: List<UnitInformation>, + private val newList: List<UnitInformation> +): DiffUtil.Callback() { + override fun getOldListSize() = oldList.size + + override fun getNewListSize() = newList.size + + override fun areItemsTheSame(oldItemPosition: Int, newItemPosition: Int) = + oldList[oldItemPosition].device.id == newList[newItemPosition].device.id + + override fun areContentsTheSame(oldItemPosition: Int, newItemPosition: Int) = + (oldList[oldItemPosition].position?.id == newList[newItemPosition].position?.id) && newItemPosition != 0 + +}
\ No newline at end of file |