diff --git a/app/src/main/java/gq/kirmanak/mealient/extensions/ViewExtensions.kt b/app/src/main/java/gq/kirmanak/mealient/extensions/ViewExtensions.kt index 25c5fba..452b2c9 100644 --- a/app/src/main/java/gq/kirmanak/mealient/extensions/ViewExtensions.kt +++ b/app/src/main/java/gq/kirmanak/mealient/extensions/ViewExtensions.kt @@ -2,10 +2,13 @@ package gq.kirmanak.mealient.extensions import android.content.Context import android.content.SharedPreferences +import android.view.View +import android.view.inputmethod.InputMethodManager import android.widget.EditText import android.widget.TextView import android.widget.Toast import androidx.annotation.StringRes +import androidx.core.content.getSystemService import androidx.core.widget.doAfterTextChanged import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LiveData @@ -107,3 +110,8 @@ fun Context.showLongToast(@StringRes text: Int) = showLongToast(getString(text)) private fun Context.showToast(text: String, length: Int) { Toast.makeText(this, text, length).show() } + +fun View.hideKeyboard() { + val imm = context.getSystemService() + imm?.hideSoftInputFromWindow(windowToken, 0) +} \ No newline at end of file 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 019d099..68e6cf9 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 @@ -1,5 +1,6 @@ package gq.kirmanak.mealient.ui.recipes +import android.annotation.SuppressLint import android.os.Bundle import android.view.View import androidx.annotation.StringRes @@ -17,10 +18,7 @@ import gq.kirmanak.mealient.R import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity import gq.kirmanak.mealient.databinding.FragmentRecipesListBinding import gq.kirmanak.mealient.datasource.NetworkError -import gq.kirmanak.mealient.extensions.collectWhenViewResumed -import gq.kirmanak.mealient.extensions.refreshRequestFlow -import gq.kirmanak.mealient.extensions.showLongToast -import gq.kirmanak.mealient.extensions.valueUpdatesOnly +import gq.kirmanak.mealient.extensions.* import gq.kirmanak.mealient.logging.Logger import gq.kirmanak.mealient.ui.activity.MainActivityViewModel import gq.kirmanak.mealient.ui.recipes.RecipesListFragmentDirections.Companion.actionRecipesFragmentToRecipeInfoFragment @@ -59,6 +57,15 @@ class RecipesListFragment : Fragment(R.layout.fragment_recipes_list) { ) } setupRecipeAdapter() + hideKeyboardOnScroll() + } + + @SuppressLint("ClickableViewAccessibility") + private fun hideKeyboardOnScroll() { + binding.recipes.setOnTouchListener { view, _ -> + view?.hideKeyboard() + false + } } private fun navigateToRecipeInfo(id: String) {