From 132e12cab78f29b06f205ea5682c8bcfb367b356 Mon Sep 17 00:00:00 2001 From: Kirill Kamakin Date: Fri, 7 Apr 2023 13:54:22 +0200 Subject: [PATCH 1/4] Increase search bar size --- app/src/main/res/layout/view_toolbar.xml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/layout/view_toolbar.xml b/app/src/main/res/layout/view_toolbar.xml index dbb6bc7..016dc3f 100644 --- a/app/src/main/res/layout/view_toolbar.xml +++ b/app/src/main/res/layout/view_toolbar.xml @@ -9,28 +9,31 @@ + app:layout_constraintTop_toTopOf="parent" + tools:text="Search request" /> \ No newline at end of file From b78d30790f1e1324723b741676295e7273868a23 Mon Sep 17 00:00:00 2001 From: Kirill Kamakin Date: Fri, 7 Apr 2023 14:03:52 +0200 Subject: [PATCH 2/4] Increase space between recipes --- app/src/main/res/layout/fragment_recipes_list.xml | 2 +- app/src/main/res/layout/view_holder_recipe.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/layout/fragment_recipes_list.xml b/app/src/main/res/layout/fragment_recipes_list.xml index 434db53..5738142 100644 --- a/app/src/main/res/layout/fragment_recipes_list.xml +++ b/app/src/main/res/layout/fragment_recipes_list.xml @@ -20,7 +20,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" - tools:itemCount="0" + tools:itemCount="10" tools:listitem="@layout/view_holder_recipe" /> diff --git a/app/src/main/res/layout/view_holder_recipe.xml b/app/src/main/res/layout/view_holder_recipe.xml index 4cff421..0b46443 100644 --- a/app/src/main/res/layout/view_holder_recipe.xml +++ b/app/src/main/res/layout/view_holder_recipe.xml @@ -5,7 +5,7 @@ style="?materialCardViewFilledStyle" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginVertical="@dimen/margin_small" + android:layout_marginVertical="@dimen/margin_medium" android:layout_marginStart="@dimen/margin_medium" android:layout_marginEnd="@dimen/margin_medium"> From 9b03cfcbb4a34c68c3981066957e73a67b8c1f93 Mon Sep 17 00:00:00 2001 From: Kirill Kamakin Date: Fri, 7 Apr 2023 14:14:25 +0200 Subject: [PATCH 3/4] Show Toast when recipe favorite status is updated --- .../java/gq/kirmanak/mealient/data/recipes/RecipeRepo.kt | 2 +- .../mealient/data/recipes/impl/RecipeRepoImpl.kt | 3 ++- .../kirmanak/mealient/ui/recipes/RecipesListFragment.kt | 9 +++++++++ app/src/main/res/values-ru/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ 5 files changed, 16 insertions(+), 2 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 4fd11dd..22996f2 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 @@ -18,7 +18,7 @@ interface RecipeRepo { suspend fun refreshRecipes() - suspend fun updateIsRecipeFavorite(recipeSlug: String, isFavorite: Boolean): Result + suspend fun updateIsRecipeFavorite(recipeSlug: String, isFavorite: Boolean): Result suspend fun deleteRecipe(entity: RecipeSummaryEntity): Result } \ 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 dadbc78..5322775 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 @@ -75,12 +75,13 @@ class RecipeRepoImpl @Inject constructor( override suspend fun updateIsRecipeFavorite( recipeSlug: String, isFavorite: Boolean, - ): Result = runCatchingExceptCancel { + ): Result = runCatchingExceptCancel { logger.v { "updateIsRecipeFavorite() called with: recipeSlug = $recipeSlug, isFavorite = $isFavorite" } dataSource.updateIsRecipeFavorite(recipeSlug, isFavorite) val favorites = dataSource.getFavoriteRecipes() storage.updateFavoriteRecipes(favorites) pagingSourceFactory.invalidate() + favorites.contains(recipeSlug) }.onFailure { logger.e(it) { "Can't update recipe's is favorite status" } } diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/recipes/RecipesListFragment.kt b/app/src/main/java/gq/kirmanak/mealient/ui/recipes/RecipesListFragment.kt index 6188633..1003b26 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/recipes/RecipesListFragment.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/recipes/RecipesListFragment.kt @@ -177,6 +177,15 @@ class RecipesListFragment : Fragment(R.layout.fragment_recipes_list) { logger.d { "onFavoriteClick: result is $it" } if (it.isFailure) { showLongToast(R.string.fragment_recipes_favorite_update_failed) + } else { + val name = event.recipeSummaryEntity.name + val isFavorite = it.getOrThrow() + val message = if (isFavorite) { + getString(R.string.fragment_recipes_favorite_added, name) + } else { + getString(R.string.fragment_recipes_favorite_removed, name) + } + showLongToast(message) } } } diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index a48b0df..2bba973 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -63,4 +63,6 @@ Удалить рецепт Подтвердить Отмена + %1$s добавлено в избранное + %1$s удалено из избранного \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c3502d5..783372f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -66,4 +66,6 @@ Item is favorite Item is not favorite Delete recipe + Added %1$s to favorites + Removed %1$s from favorites \ No newline at end of file From 559ddb605688bf4fc1164f4581ca398b8ea61336 Mon Sep 17 00:00:00 2001 From: Kirill Kamakin Date: Fri, 7 Apr 2023 14:29:52 +0200 Subject: [PATCH 4/4] Add search icon --- app/src/main/res/drawable/ic_search.xml | 10 ++++++++++ app/src/main/res/layout/view_toolbar.xml | 1 + 2 files changed, 11 insertions(+) create mode 100644 app/src/main/res/drawable/ic_search.xml diff --git a/app/src/main/res/drawable/ic_search.xml b/app/src/main/res/drawable/ic_search.xml new file mode 100644 index 0000000..8cdd776 --- /dev/null +++ b/app/src/main/res/drawable/ic_search.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/view_toolbar.xml b/app/src/main/res/layout/view_toolbar.xml index 016dc3f..b0f0244 100644 --- a/app/src/main/res/layout/view_toolbar.xml +++ b/app/src/main/res/layout/view_toolbar.xml @@ -26,6 +26,7 @@ android:layout_height="0dp" android:layout_margin="@dimen/margin_small" android:background="@null" + android:drawableStart="@drawable/ic_search" android:hint="@string/search_recipes_hint" android:importantForAutofill="no" android:inputType="textFilter"