PM-14433 update flow type to nullable so we can handle gracefully and avoid crash. (#4231)

This commit is contained in:
Dave Severns
2024-11-04 20:23:36 -05:00
committed by GitHub
parent 5523d99400
commit 5a4b8d64ab
2 changed files with 3 additions and 1 deletions

View File

@@ -17,6 +17,7 @@ import kotlinx.coroutines.async
import kotlinx.coroutines.awaitAll import kotlinx.coroutines.awaitAll
import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.filterNotNull
import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.merge import kotlinx.coroutines.flow.merge
@@ -122,6 +123,7 @@ class VaultDiskSourceImpl(
override fun getDomains(userId: String): Flow<SyncResponseJson.Domains> = override fun getDomains(userId: String): Flow<SyncResponseJson.Domains> =
domainsDao domainsDao
.getDomains(userId) .getDomains(userId)
.filterNotNull()
.map { entity -> .map { entity ->
withContext(dispatcherManager.default) { withContext(dispatcherManager.default) {
json.decodeFromString<SyncResponseJson.Domains>(entity.domainsJson) json.decodeFromString<SyncResponseJson.Domains>(entity.domainsJson)

View File

@@ -25,7 +25,7 @@ interface DomainsDao {
@Query("SELECT * FROM domains WHERE user_id = :userId") @Query("SELECT * FROM domains WHERE user_id = :userId")
fun getDomains( fun getDomains(
userId: String, userId: String,
): Flow<DomainsEntity> ): Flow<DomainsEntity?>
/** /**
* Inserts domains into the database. * Inserts domains into the database.