diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivity.kt b/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivity.kt index 39dc6bb..63270ce 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivity.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivity.kt @@ -123,7 +123,13 @@ class MainActivity : AppCompatActivity(R.layout.main_activity) { logger.e { "setupSearchItem: search item's actionView is null or not SearchView" } return } + searchView.queryHint = getString(R.string.search_recipes_hint) + searchView.isSubmitButtonEnabled = false + + searchView.setQuery(viewModel.lastSearchQuery, false) + searchView.isIconified = viewModel.lastSearchQuery.isNullOrBlank() + searchView.setOnCloseListener { logger.v { "onClose() called" } viewModel.onSearchQuery(null) diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivityViewModel.kt b/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivityViewModel.kt index 73ab467..cb910bb 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivityViewModel.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivityViewModel.kt @@ -32,6 +32,9 @@ class MainActivityViewModel @Inject constructor( private val _startDestination = MutableLiveData() val startDestination: LiveData = _startDestination + var lastSearchQuery: String? = null + private set + init { authRepo.isAuthorizedFlow .onEach { isAuthorized -> updateUiState { it.copy(isAuthorized = isAuthorized) } } @@ -57,6 +60,9 @@ class MainActivityViewModel @Inject constructor( fun onSearchQuery(query: String?) { logger.v { "onSearchQuery() called with: query = $query" } - recipeRepo.updateNameQuery(query) + if (lastSearchQuery != query) { + lastSearchQuery = query + recipeRepo.updateNameQuery(query) + } } } \ No newline at end of file