Shivam Kanodia
09/15/2023, 9:08 AM#sqldelight --Please HELP--
I am unable to observe changes when i add/remove rows from sqdelight database. I am not getting latest updated Flow? Can anyone please help.
internal fun getRecceSectionFilesForField2(
recceId: String,
sectionId: String,
fieldUuid: String
): Flow<List<RecceFiles>> {
// val result = dbQuery.selectAllRecceFilesForSectionAndField(recceId, sectionId, fieldUuid)
// .executeAsList().asLiveData()
val result = dbQuery.selectAllRecceFilesForSectionAndField(recceId, sectionId, fieldUuid)
.also {
// debug
it.addListener(object : Query.Listener {
override fun queryResultsChanged() =
println("queryResultsChanged")
})
}
.asFlow()
.mapToList()
return result
}
LaunchedEffect(key1 = flow) {
coroutineScope.launch {
flow.collect { recceFilesList ->
recceFilesList.forEach { it1 ->
println("fileUri inside loop ${it1.fileUri}")
if (previewFilesList.filter { it.file == it1.fileUri }.isEmpty())
previewFilesList.add(
PreviewFile(
id = "0", file = it1.fileUri, type = it1.fileType, isEditable = true
)
)
}
println("recceFilesList $recceFilesList")
println("recceFilesList Size ${recceFilesList.size}")
}
}
}