In the list with PLANTS, when filter button is pressed emitting of new live data and sorting is executed more than once.
I added logging to be more clear:
In List.applySort:
println("Name: ${plant.name}, position: $positionForItem")
And in
val plants: LiveData<List> = liveData<List> { ...
println("Plant list: ${System.identityHashCode(plantList)}")
And this is observed in Logcat:
Same is observed when the filter is press again, but log is much bigger as all plants are shown.
In the list with PLANTS, when filter button is pressed emitting of new live data and sorting is executed more than once. I added logging to be more clear:
In List.applySort:
println("Name: ${plant.name}, position: $positionForItem")
And in val plants: LiveData<List> = liveData<List> { ...
println("Plant list: ${System.identityHashCode(plantList)}")
And this is observed in Logcat:
Same is observed when the filter is press again, but log is much bigger as all plants are shown.
How can this be optimized?