[Gradle][MPP] ObservableSet.addAll: Incrementally add elements and invoke listeners
^KT-52726 Verification Pending
This commit is contained in:
committed by
Space
parent
74b2285877
commit
134ed4bae1
+5
-9
@@ -32,19 +32,15 @@ internal class MutableObservableSet<T>(vararg elements: T) : ObservableSet<T>, M
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun addAll(elements: Collection<T>): Boolean {
|
override fun addAll(elements: Collection<T>): Boolean {
|
||||||
val toAdd = elements.toSet() - underlying
|
val elementsToAdd = elements.toSet() - underlying
|
||||||
return underlying.addAll(toAdd).also {
|
elementsToAdd.forEach(this::add)
|
||||||
toAdd.forEach { added ->
|
return elementsToAdd.isNotEmpty()
|
||||||
whenObjectAddedActions.toList().forEach { action -> action(added) }
|
|
||||||
forAllActions.toList().forEach { action -> action(added) }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun add(element: T): Boolean {
|
override fun add(element: T): Boolean {
|
||||||
return underlying.add(element).also {
|
return underlying.add(element).also {
|
||||||
whenObjectAddedActions.toList().forEach { action -> action(element) }
|
whenObjectAddedActions.toTypedArray().forEach { action -> action(element) }
|
||||||
forAllActions.toList().forEach { action -> action(element) }
|
forAllActions.toTypedArray().forEach { action -> action(element) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user