From 0ebf26c457e9c5e257aef68d993d5f2c674aafc4 Mon Sep 17 00:00:00 2001 From: Joren Date: Tue, 30 Apr 2024 01:51:20 +0200 Subject: [PATCH] Instaid of searching is a string contains, start from the beginning... makes more sense --- .../com/ti/mobpo/ui/viewmodels/PokeSearchViewModel.kt | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/ti/mobpo/ui/viewmodels/PokeSearchViewModel.kt b/app/src/main/java/com/ti/mobpo/ui/viewmodels/PokeSearchViewModel.kt index 231cbcf..cef183d 100644 --- a/app/src/main/java/com/ti/mobpo/ui/viewmodels/PokeSearchViewModel.kt +++ b/app/src/main/java/com/ti/mobpo/ui/viewmodels/PokeSearchViewModel.kt @@ -36,18 +36,13 @@ class PokeSearchViewModel(private val favouritesRepository: FavouritesRepository } } - - fun search(query: String) { viewModelScope.launch { try { - val filteredList = _initialPokemonList.value?.filter { it.name.contains(query, ignoreCase = true) } + val filteredList = _initialPokemonList.value?.filter { it.name.startsWith(query, ignoreCase = true) } val detailsList = mutableListOf() if (filteredList != null) { - for (pokemonSpecies in filteredList) { - if (detailsList.size >= SHOW_LIMIT) { - break - } + for (pokemonSpecies in filteredList.take(SHOW_LIMIT)) { val details = service.getPokemonDetails(extractPokemonId(pokemonSpecies.url)) val isFavorite = favouritesRepository.isFavourite(details.id) detailsList.add(details.copy(isFavorite = isFavorite))