From 59ebff6d1555919c86dd1d1b5d1bd6330bb7f41b Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 5 Aug 2024 11:36:17 +0200 Subject: [PATCH] Added IME action for main fragments search bar to close keyboard --- .../linphone/ui/main/fragment/AbstractMainFragment.kt | 9 +++++++++ app/src/main/res/layout/main_activity_top_bar.xml | 1 + 2 files changed, 10 insertions(+) diff --git a/app/src/main/java/org/linphone/ui/main/fragment/AbstractMainFragment.kt b/app/src/main/java/org/linphone/ui/main/fragment/AbstractMainFragment.kt index 6925360a2..86dc85ae0 100644 --- a/app/src/main/java/org/linphone/ui/main/fragment/AbstractMainFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/fragment/AbstractMainFragment.kt @@ -23,6 +23,7 @@ import android.content.res.Configuration import android.os.Bundle import android.view.View import android.view.ViewGroup +import android.view.inputmethod.EditorInfo import androidx.annotation.IdRes import androidx.annotation.UiThread import androidx.core.view.doOnPreDraw @@ -197,6 +198,14 @@ abstract class AbstractMainFragment : GenericMainFragment() { } private fun initSearchBar(searchBar: TextInputLayout) { + searchBar.editText?.setOnEditorActionListener { view, actionId, _ -> + if (actionId == EditorInfo.IME_ACTION_SEARCH) { + view.hideKeyboard() + return@setOnEditorActionListener true + } + false + } + viewModel.focusSearchBarEvent.observe(viewLifecycleOwner) { it.consume { show -> if (show) { diff --git a/app/src/main/res/layout/main_activity_top_bar.xml b/app/src/main/res/layout/main_activity_top_bar.xml index 6bf328818..290f8a93e 100644 --- a/app/src/main/res/layout/main_activity_top_bar.xml +++ b/app/src/main/res/layout/main_activity_top_bar.xml @@ -137,6 +137,7 @@ android:textSize="16sp" android:inputType="text" android:paddingVertical="1dp" + android:imeOptions="actionSearch" android:text="@={viewModel.searchFilter}" android:background="@android:color/transparent" />