Skip to content

Commit f914254

Browse files
authored
Merge pull request #749 from android/tj/reactive-only-dao
Ensure DAO exposes only reactive types
2 parents d3e7ab9 + dcc36b0 commit f914254

File tree

3 files changed

+8
-7
lines changed

3 files changed

+8
-7
lines changed

core/data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/DefaultSearchContentsRepository.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.google.samples.apps.nowinandroid.core.database.dao.NewsResourceDao
2020
import com.google.samples.apps.nowinandroid.core.database.dao.NewsResourceFtsDao
2121
import com.google.samples.apps.nowinandroid.core.database.dao.TopicDao
2222
import com.google.samples.apps.nowinandroid.core.database.dao.TopicFtsDao
23+
import com.google.samples.apps.nowinandroid.core.database.model.PopulatedNewsResource
2324
import com.google.samples.apps.nowinandroid.core.database.model.asExternalModel
2425
import com.google.samples.apps.nowinandroid.core.database.model.asFtsEntity
2526
import com.google.samples.apps.nowinandroid.core.model.data.SearchResult
@@ -29,6 +30,7 @@ import kotlinx.coroutines.CoroutineDispatcher
2930
import kotlinx.coroutines.flow.Flow
3031
import kotlinx.coroutines.flow.combine
3132
import kotlinx.coroutines.flow.distinctUntilChanged
33+
import kotlinx.coroutines.flow.first
3234
import kotlinx.coroutines.flow.flatMapLatest
3335
import kotlinx.coroutines.flow.mapLatest
3436
import kotlinx.coroutines.withContext
@@ -45,7 +47,12 @@ class DefaultSearchContentsRepository @Inject constructor(
4547
override suspend fun populateFtsData() {
4648
withContext(ioDispatcher) {
4749
newsResourceFtsDao.insertAll(
48-
newsResourceDao.getOneOffNewsResources().map { it.asFtsEntity() },
50+
newsResourceDao.getNewsResources(
51+
useFilterTopicIds = false,
52+
useFilterNewsIds = false,
53+
)
54+
.first()
55+
.map(PopulatedNewsResource::asFtsEntity),
4956
)
5057
topicFtsDao.insertAll(topicDao.getOneOffTopicEntities().map { it.asFtsEntity() })
5158
}

core/data/src/test/java/com/google/samples/apps/nowinandroid/core/data/testdoubles/TestNewsResourceDao.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,6 @@ class TestNewsResourceDao : NewsResourceDao {
6767
result
6868
}
6969

70-
override suspend fun getOneOffNewsResources(): List<PopulatedNewsResource> = emptyList()
71-
7270
override suspend fun insertOrIgnoreNewsResources(
7371
entities: List<NewsResourceEntity>,
7472
): List<Long> {

core/database/src/main/java/com/google/samples/apps/nowinandroid/core/database/dao/NewsResourceDao.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,6 @@ interface NewsResourceDao {
6565
filterNewsIds: Set<String> = emptySet(),
6666
): Flow<List<PopulatedNewsResource>>
6767

68-
@Transaction
69-
@Query(value = "SELECT * FROM news_resources ORDER BY publish_date DESC")
70-
suspend fun getOneOffNewsResources(): List<PopulatedNewsResource>
71-
7268
/**
7369
* Inserts [entities] into the db if they don't exist, and ignores those that do
7470
*/

0 commit comments

Comments
 (0)