Colton Idle
08/14/2022, 5:08 PMval listFlow = snapshotFlow { appState.myList }
viewModelScope.launch {
  listFlow.collectLatest {
Log...Stylianos Gakis
08/14/2022, 7:55 PMmyListColton Idle
08/14/2022, 7:56 PMStylianos Gakis
08/14/2022, 9:18 PMstateFlowTTMutableStateState<T>stateFlowval state: State<String> = produceState("") {
  while(isActive) {
    value = "one"
    delay(1.seconds)
    value = "two"
    delay(1.seconds)
  }
}
LaunchedEffect(Unit) {
  snapshotFlow { state }.collectLatest {
    println("state:$state")
  }
}val state: String by produceState("") {
  while(isActive) {
    value = "one"
    delay(1.seconds)
    value = "two"
    delay(1.seconds)
  }
}
LaunchedEffect(Unit) {
  snapshotFlow { state }.collectLatest {
    println("state:$state")
  }
}SnapshotStateList<T>snapshotFlow<T>val state: SnapshotStateList<String> = mutableStateListOf("One", "Two")
LaunchedEffect(Unit) {
  while (isActive) {
    delay(1.seconds)
    state.add("one")
    delay(1.seconds)
    state.add("two")
    delay(1.seconds)
    state.clear()
  }
}
LaunchedEffect(Unit) {
  snapshotFlow { state }.collectLatest {
    println("state:$state")
  }
}This does not work
val state: SnapshotStateList<String> = mutableStateListOf("One", "Two")
LaunchedEffect(Unit) {
  while (isActive) {
    delay(1.seconds)
    state.add("one")
    delay(1.seconds)
    state.add("two")
    delay(1.seconds)
    state.clear()
  }
}
LaunchedEffect(Unit) {
  snapshotFlow { state.toList() }.collectLatest {
    println("state:$state")
  }
}Albert Chang
08/15/2022, 4:15 AMsnapshotFlowStylianos Gakis
08/15/2022, 7:26 AM.toList()val listFlow = snapshotFlow { appState.myList.toList() }
viewModelScope.launch {
  listFlow.collectLatest {
Log...Colton Idle
08/15/2022, 1:34 PM.toList()Stylianos Gakis
08/15/2022, 1:44 PMSnapshotStateListget(index)SnapshotStateListMutableListListCollectionIterablepublic fun <T> Iterable<T>.toList(): List<T>Colton Idle
08/15/2022, 2:41 PMStylianos Gakis
08/15/2022, 2:43 PMSnapshotStateListsnapshowFlowChrimaeon
08/15/2022, 2:45 PMtoList()Stylianos Gakis
08/15/2022, 3:03 PMChrimaeon
08/15/2022, 3:08 PMchannelFlowZach Klippenstein (he/him) [MOD]
08/15/2022, 4:04 PMsnapshotFlowviewModelScope.launch {
  snapshotFlow {
    appState.myList.forEach // or w/e
    // put all your list processing here
    // return type doesn't matter
  }.collect()
}Colton Idle
08/15/2022, 4:44 PM