11package com.k0d4black.theforce.features.character_details
22
3+ import android.util.Log
34import androidx.annotation.StringRes
4- import androidx.lifecycle.*
5+ import androidx.lifecycle.LiveData
6+ import androidx.lifecycle.MutableLiveData
7+ import androidx.lifecycle.ViewModel
8+ import androidx.lifecycle.viewModelScope
59import com.k0d4black.theforce.commons.ExceptionHandler
610import com.k0d4black.theforce.domain.usecases.FilmsUseCase
711import com.k0d4black.theforce.domain.usecases.PlanetUseCase
@@ -27,6 +31,7 @@ internal class CharacterDetailViewModel(
2731 private var _detailViewState = MutableLiveData <CharacterDetailsViewState >()
2832
2933 private val characterDetailExceptionHandler = CoroutineExceptionHandler { _, exception ->
34+ Log .d(" Character Detail VM" , " $exception " )
3035 val message = ExceptionHandler .parse(exception)
3136 _detailViewState .value = _detailViewState .value?.copy(error = Error (message))
3237 }
@@ -47,14 +52,10 @@ internal class CharacterDetailViewModel(
4752 _detailViewState .value = _detailViewState .value?.copy(error = null )
4853 }
4954 viewModelScope.launch(characterDetailExceptionHandler) {
50- val planetRequest = async { loadPlanet(characterUrl) }
51- val filmsRequest = async { loadFilms(characterUrl) }
52- val speciesRequest = async { loadSpecies(characterUrl) }
53- planetRequest.await()
54- filmsRequest.await()
55- speciesRequest.await()
55+ async { loadPlanet(characterUrl) }.await()
56+ async { loadFilms(characterUrl) }.await()
57+ async { loadSpecies(characterUrl) }.await()
5658 _detailViewState .value = _detailViewState .value?.copy(isComplete = true )
57-
5859 }
5960 }
6061
0 commit comments