When display limit is reached, stop filter
This commit is contained in:
		@@ -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))
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user