Colton Idle
08/18/2025, 4:54 PMsnapshotFlow { mySnapShotStateList}.collectLatest{ //Log.e("UPDATE")}
I won't get updates unless I do
snapshotFlow { mySnapShotStateList.toList() }.collectLatest{ //Log.e("UPDATE")}
Yet when I go to use a lazy column or column I don't have to call toList()
. Is there any way to know when I'll have to call .toList() to get proper observability as I intended?Zach Klippenstein (he/him) [MOD]
08/18/2025, 4:59 PMZach Klippenstein (he/him) [MOD]
08/18/2025, 5:00 PMZach Klippenstein (he/him) [MOD]
08/18/2025, 5:04 PMsnapshotFlow {
mySnapShotStateList.size
Log.e("UPDATE")
}.collect()
Uli Bubenheimer
08/19/2025, 9:21 PMsnapshotFlow
the recommended pattern is indeed to use SnapshostStateList.toList()
, your use case is why that method was added. It does not make a copy of the list, but uses the immutable/persistent list that it maintains for snapshot state, so no worries.Colton Idle
08/19/2025, 10:07 PM