When display limit is reached, stop filter
This commit is contained in:
parent
ba724006c2
commit
3085f958bd
@ -18,7 +18,7 @@ import kotlinx.coroutines.launch
|
|||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
|
||||||
class FavouritesViewModel(private val favouritesRepository: FavouritesRepository, featureManager: FeatureManager) : ViewModel() {
|
class FavouritesViewModel(private val favouritesRepository: FavouritesRepository, featureManager: FeatureManager) : ViewModel() {
|
||||||
private val service = PokeApi.retrofitService;
|
private val service = PokeApi.retrofitService
|
||||||
|
|
||||||
private val _pokemonDetails = MutableStateFlow<List<PokemonDetails>?>(null)
|
private val _pokemonDetails = MutableStateFlow<List<PokemonDetails>?>(null)
|
||||||
val pokemonDetails: StateFlow<List<PokemonDetails>?> = _pokemonDetails.asStateFlow()
|
val pokemonDetails: StateFlow<List<PokemonDetails>?> = _pokemonDetails.asStateFlow()
|
||||||
|
@ -44,7 +44,10 @@ class PokeSearchViewModel(private val favouritesRepository: FavouritesRepository
|
|||||||
val filteredList = _initialPokemonList.value?.filter { it.name.contains(query, ignoreCase = true) }
|
val filteredList = _initialPokemonList.value?.filter { it.name.contains(query, ignoreCase = true) }
|
||||||
val detailsList = mutableListOf<PokemonDetails>()
|
val detailsList = mutableListOf<PokemonDetails>()
|
||||||
if (filteredList != null) {
|
if (filteredList != null) {
|
||||||
for (pokemonSpecies in filteredList.take(SHOW_LIMIT)) {
|
for (pokemonSpecies in filteredList) {
|
||||||
|
if (detailsList.size >= SHOW_LIMIT) {
|
||||||
|
break
|
||||||
|
}
|
||||||
val details = service.getPokemonDetails(extractPokemonId(pokemonSpecies.url))
|
val details = service.getPokemonDetails(extractPokemonId(pokemonSpecies.url))
|
||||||
val isFavorite = favouritesRepository.isFavourite(details.id)
|
val isFavorite = favouritesRepository.isFavourite(details.id)
|
||||||
detailsList.add(details.copy(isFavorite = isFavorite))
|
detailsList.add(details.copy(isFavorite = isFavorite))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user