aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesDiffCallback.kt
diff options
context:
space:
mode:
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.kt20
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