refactored mapping

pull/1824/head
Oussama Hafferssas 10 months ago
parent ce8b518020
commit 9bf782d0a9

@ -20,6 +20,7 @@ import com.google.samples.apps.nowinandroid.core.data.repository.SearchContentsR
import com.google.samples.apps.nowinandroid.core.data.repository.UserDataRepository import com.google.samples.apps.nowinandroid.core.data.repository.UserDataRepository
import com.google.samples.apps.nowinandroid.core.model.data.FollowableTopic import com.google.samples.apps.nowinandroid.core.model.data.FollowableTopic
import com.google.samples.apps.nowinandroid.core.model.data.SearchResult import com.google.samples.apps.nowinandroid.core.model.data.SearchResult
import com.google.samples.apps.nowinandroid.core.model.data.Topic
import com.google.samples.apps.nowinandroid.core.model.data.UserData import com.google.samples.apps.nowinandroid.core.model.data.UserData
import com.google.samples.apps.nowinandroid.core.model.data.UserNewsResource import com.google.samples.apps.nowinandroid.core.model.data.UserNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.UserSearchResult import com.google.samples.apps.nowinandroid.core.model.data.UserSearchResult
@ -45,11 +46,14 @@ class GetSearchContentsUseCase @Inject constructor(
private fun Flow<SearchResult>.mapToUserSearchResult(userDataStream: Flow<UserData>): Flow<UserSearchResult> = private fun Flow<SearchResult>.mapToUserSearchResult(userDataStream: Flow<UserData>): Flow<UserSearchResult> =
combine(userDataStream) { searchResult, userData -> combine(userDataStream) { searchResult, userData ->
UserSearchResult( UserSearchResult(
topics = searchResult.topics.map { topic -> topics = when (searchResult.topics.size) {
FollowableTopic( 0 -> emptyList()
topic = topic, else -> searchResult.topics.map { topic ->
isFollowed = topic.id in userData.followedTopics, FollowableTopic(
) topic = topic,
isFollowed = topic.id in userData.followedTopics,
)
}
}, },
newsResources = searchResult.newsResources.map { news -> newsResources = searchResult.newsResources.map { news ->
UserNewsResource( UserNewsResource(

Loading…
Cancel
Save