ursus
03/10/2020, 3:22 AMAdam Powell
03/10/2020, 3:28 AMursus
03/10/2020, 3:38 AMAdam Powell
03/10/2020, 1:43 PMcodeslubber
03/12/2020, 2:40 AMursus
03/14/2020, 12:31 AMcodeslubber
03/14/2020, 12:53 AMursus
03/15/2020, 2:24 PMcodeslubber
03/15/2020, 4:02 PMursus
03/15/2020, 4:21 PMAdam Powell
03/15/2020, 4:34 PMursus
03/15/2020, 4:45 PMViewModel {
var state: State
init {
db.foosObservable()
.map { foos -> foos.map { Item(it.title, expandedOrCollapsed = false) }}
.subscribe {
sync(state.items, it)
}
}
private fun sync(currentItems: List<Item>, newItems: List<Item>) {
// update the titles, but preserve the expandedOrCollapsed of current items
}
data class State(val items: List<Item>)
data class Item(val title: String, val expandedOrCollapsed: Boolean)
}
sync
happen on main or offthread?codeslubber
03/15/2020, 5:34 PMAdam Powell
03/15/2020, 5:37 PM@Model
and MutableState<T>
) help with the latter but you're still responsible for the former.ursus
03/15/2020, 5:40 PMAdam Powell
03/15/2020, 5:40 PM