From 0db76155a5ee31183aed9564e7d86f36d39cce18 Mon Sep 17 00:00:00 2001 From: Kirill Kamakin Date: Sun, 13 Nov 2022 10:10:45 +0100 Subject: [PATCH] Send null queries to ViewModel --- .../kirmanak/mealient/data/recipes/RecipeRepo.kt | 3 ++- .../mealient/data/recipes/impl/RecipeRepoImpl.kt | 4 ++-- .../kirmanak/mealient/ui/activity/MainActivity.kt | 15 +++++++++++---- .../mealient/ui/activity/MainActivityViewModel.kt | 4 ++-- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/gq/kirmanak/mealient/data/recipes/RecipeRepo.kt b/app/src/main/java/gq/kirmanak/mealient/data/recipes/RecipeRepo.kt index c6805c1..afb786c 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/recipes/RecipeRepo.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/recipes/RecipeRepo.kt @@ -5,6 +5,7 @@ import gq.kirmanak.mealient.database.recipe.entity.FullRecipeEntity import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity interface RecipeRepo { + fun createPager(): Pager suspend fun clearLocalData() @@ -13,5 +14,5 @@ interface RecipeRepo { suspend fun loadRecipeInfo(recipeId: String): FullRecipeEntity? - fun setSearchName(name: String?) + fun updateNameQuery(name: String?) } \ No newline at end of file diff --git a/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipeRepoImpl.kt b/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipeRepoImpl.kt index e8f81d8..dc2ac7c 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipeRepoImpl.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/recipes/impl/RecipeRepoImpl.kt @@ -56,8 +56,8 @@ class RecipeRepoImpl @Inject constructor( return recipeInfo } - override fun setSearchName(name: String?) { - logger.v { "setSearchName() called with: name = $name" } + override fun updateNameQuery(name: String?) { + logger.v { "updateNameQuery() called with: name = $name" } pagingSourceFactory.setQuery(name) invalidatingPagingSourceFactory.invalidate() } 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 94fe14a..2409d55 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 @@ -52,14 +52,21 @@ class MainActivity : AppCompatActivity(R.layout.main_activity) { override fun onNewIntent(intent: Intent?) { super.onNewIntent(intent) - if (Intent.ACTION_SEARCH == intent?.action) { - intent.getStringExtra(SearchManager.QUERY)?.also { query -> - viewModel.onSearchQuery(query) - } + logger.v { "onNewIntent() called with: intent = $intent" } + when (intent?.action) { + Intent.ACTION_SEARCH -> onNewSearch(intent) + else -> logger.w { "Unexpected intent!" } } } + private fun onNewSearch(intent: Intent) { + logger.v { "onNewSearch() called with: intent = $intent" } + val query = intent.getStringExtra(SearchManager.QUERY) + viewModel.onSearchQuery(query) + } + private fun configureNavGraph() { + logger.v { "configureNavGraph() called" } viewModel.startDestination.observeOnce(this) { logger.d { "configureNavGraph: received destination" } val graph = navController.navInflater.inflate(R.navigation.nav_graph) 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 7cb8fd5..95d6dd7 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 @@ -55,8 +55,8 @@ class MainActivityViewModel @Inject constructor( viewModelScope.launch { authRepo.logout() } } - fun onSearchQuery(query: String) { + fun onSearchQuery(query: String?) { logger.v { "onSearchQuery() called with: query = $query" } - recipeRepo.setSearchName(query) + recipeRepo.updateNameQuery(query) } } \ No newline at end of file