aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesAdapter.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2022-03-10 21:23:09 -0600
committerIván Ávalos <avalos@disroot.org>2022-03-10 21:23:09 -0600
commit9df32de8d2d26b8ebb6c6fb3f0bed10831947293 (patch)
tree81106acd83a93665850af40aca61fc145ae34dde /androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesAdapter.kt
parent440399490ec8874ed5295ca6b5770c94d47d4f3d (diff)
parent620cd5b1e2782adfd57660017878013f2fb896bd (diff)
downloadetbsa-trackermap-mobile-9df32de8d2d26b8ebb6c6fb3f0bed10831947293.tar.gz
etbsa-trackermap-mobile-9df32de8d2d26b8ebb6c6fb3f0bed10831947293.tar.bz2
etbsa-trackermap-mobile-9df32de8d2d26b8ebb6c6fb3f0bed10831947293.zip
Merge branch 'main' of https://git.sr.ht/~avalos/trackermap-mobile
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesAdapter.kt')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesAdapter.kt11
1 files changed, 10 insertions, 1 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesAdapter.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesAdapter.kt
index 4cfd6b5..0fbf597 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesAdapter.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesAdapter.kt
@@ -20,6 +20,7 @@ package mx.trackermap.TrackerMap.android.devices
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.core.view.updateLayoutParams
+import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
import mx.trackermap.TrackerMap.android.R
import mx.trackermap.TrackerMap.android.databinding.UnitItemBinding
@@ -28,10 +29,18 @@ import mx.trackermap.TrackerMap.android.shared.UnitRenderData
import mx.trackermap.TrackerMap.client.models.UnitInformation
class DevicesAdapter(
- private val units: List<UnitInformation>,
+ private val units: MutableList<UnitInformation>,
private val actionCallback: ActionCallback?
) : RecyclerView.Adapter<DevicesAdapter.ViewHolder>() {
+ fun setData(units: List<UnitInformation>) {
+ val diffCallback = DevicesDiffCallback(this.units, units)
+ val diffResult = DiffUtil.calculateDiff(diffCallback)
+ this.units.clear()
+ this.units.addAll(units)
+ diffResult.dispatchUpdatesTo(this)
+ }
+
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val binding = UnitItemBinding.inflate(LayoutInflater.from(parent.context), parent, false)