File tree Expand file tree Collapse file tree
app/src/main/kotlin/com/k0d4black/theforce/features/character_search
domain/src/main/kotlin/com/k0d4black/theforce/domain/usecases Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ import com.k0d4black.theforce.commons.Success
66import com.k0d4black.theforce.commons.UiStateViewModel
77import com.k0d4black.theforce.domain.usecases.SearchCharactersUseCase
88import com.k0d4black.theforce.mappers.toPresentation
9+ import kotlinx.coroutines.Dispatchers
910import kotlinx.coroutines.flow.collect
1011import kotlinx.coroutines.launch
1112import javax.inject.Inject
@@ -14,11 +15,12 @@ class CharacterSearchViewModel @Inject constructor(
1415 private val searchCharactersUseCase : SearchCharactersUseCase
1516) : UiStateViewModel() {
1617
17- fun executeCharacterSearch (params : String ) {
18- _uiState .value = Loading
19- viewModelScope.launch(handler) {
20- searchCharactersUseCase(params).collect { results ->
21- _uiState .value = Success (results.map { it.toPresentation() })
18+ fun executeCharacterSearch (characterName : String ) {
19+ viewModelScope.launch(Dispatchers .IO + handler) {
20+ _uiState .postValue(Loading )
21+ searchCharactersUseCase(characterName).collect { results ->
22+ val characters = results.map { character -> character.toPresentation() }
23+ _uiState .postValue(Success (characters))
2224 }
2325 }
2426 }
Original file line number Diff line number Diff line change @@ -7,6 +7,6 @@ class SearchCharactersUseCase @Inject constructor(
77 private val searchRepository : ICharacterSearchRepository
88) {
99
10- suspend operator fun invoke (params : String ) = searchRepository.searchCharacters(params )
10+ suspend operator fun invoke (characterName : String ) = searchRepository.searchCharacters(characterName )
1111
1212}
You can’t perform that action at this time.
0 commit comments