When display limit is reached, stop filter

This commit is contained in:
Joren 2024-04-30 01:49:14 +02:00
parent ba724006c2
commit 3085f958bd
Signed by untrusted user who does not match committer: Joren
GPG Key ID: 280E33DFBC0F1B55
2 changed files with 5 additions and 2 deletions

View File

@ -18,7 +18,7 @@ import kotlinx.coroutines.launch
import java.io.IOException
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)
val pokemonDetails: StateFlow<List<PokemonDetails>?> = _pokemonDetails.asStateFlow()

View File

@ -44,7 +44,10 @@ class PokeSearchViewModel(private val favouritesRepository: FavouritesRepository
val filteredList = _initialPokemonList.value?.filter { it.name.contains(query, ignoreCase = true) }
val detailsList = mutableListOf<PokemonDetails>()
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 isFavorite = favouritesRepository.isFavourite(details.id)
detailsList.add(details.copy(isFavorite = isFavorite))