From a3be3188fa5006bfaf07a72e7b0272f906af93b4 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Tue, 18 Oct 2022 18:16:18 +0200 Subject: [PATCH] Don't restart search if query is unchanged --- .../java/de/mm20/launcher2/ui/launcher/search/SearchVM.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchVM.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchVM.kt index 15447d15..ed7ad134 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchVM.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchVM.kt @@ -28,7 +28,7 @@ class SearchVM : ViewModel(), KoinComponent { private val websearchRepository: WebsearchRepository by inject() val isSearching = MutableLiveData(false) - val searchQuery = MutableLiveData("") + val searchQuery = MutableLiveData("") val isSearchEmpty = MutableLiveData(true) val showLabels = dataStore.data.map { it.grid.showLabels }.asLiveData() @@ -55,11 +55,12 @@ class SearchVM : ViewModel(), KoinComponent { .shareIn(viewModelScope, SharingStarted.WhileSubscribed(), replay = 1) init { - search("") + search("", true) } var searchJob: Job? = null - fun search(query: String) { + fun search(query: String, forceRestart: Boolean = false) { + if (searchQuery.value == query && !forceRestart) return searchQuery.value = query isSearchEmpty.value = query.isEmpty() hiddenResults.value = emptyList()