From f3affb76d751e31d7dd7d63b8485637c6c7cc441 Mon Sep 17 00:00:00 2001 From: Hemanth S Date: Sat, 17 Oct 2020 13:50:28 +0530 Subject: [PATCH] Revert "Fix now showing search #955" This reverts commit 3e63d3a6b74403e549c86304bfcf18a78982ec0f. --- .../retromusic/extensions/ViewExtensions.kt | 38 ------------------- .../fragments/search/SearchFragment.kt | 14 ++++--- 2 files changed, 8 insertions(+), 44 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt index 147516a9..3e90305f 100644 --- a/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt +++ b/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt @@ -15,12 +15,9 @@ package code.name.monkey.retromusic.extensions import android.animation.ObjectAnimator -import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.view.ViewTreeObserver -import android.view.inputmethod.InputMethodManager import android.widget.EditText import androidx.annotation.LayoutRes import androidx.core.animation.doOnEnd @@ -79,38 +76,3 @@ fun BottomSheetBehavior<*>.peekHeightAnimate(value: Int) { } } -fun View.focusAndShowKeyboard() { - /** - * This is to be called when the window already has focus. - */ - fun View.showTheKeyboardNow() { - if (isFocused) { - post { - // We still post the call, just in case we are being notified of the windows focus - // but InputMethodManager didn't get properly setup yet. - val imm = - context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager - imm.showSoftInput(this, InputMethodManager.SHOW_IMPLICIT) - } - } - } - - requestFocus() - if (hasWindowFocus()) { - // No need to wait for the window to get focus. - showTheKeyboardNow() - } else { - // We need to wait until the window gets focus. - viewTreeObserver.addOnWindowFocusChangeListener( - object : ViewTreeObserver.OnWindowFocusChangeListener { - override fun onWindowFocusChanged(hasFocus: Boolean) { - // This notification will arrive just before the InputMethodManager gets set up. - if (hasFocus) { - this@focusAndShowKeyboard.showTheKeyboardNow() - // It’s very important to remove this listener once we are done. - viewTreeObserver.removeOnWindowFocusChangeListener(this) - } - } - }) - } -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt index 6ab5113a..d767d859 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt @@ -21,6 +21,8 @@ import android.speech.RecognizerIntent import android.text.Editable import android.text.TextWatcher import android.view.View +import android.view.inputmethod.InputMethodManager +import androidx.core.content.ContextCompat.getSystemService import androidx.core.view.isGone import androidx.core.view.isVisible import androidx.recyclerview.widget.LinearLayoutManager @@ -30,7 +32,6 @@ import code.name.monkey.retromusic.R import code.name.monkey.retromusic.adapter.SearchAdapter import code.name.monkey.retromusic.extensions.accentColor import code.name.monkey.retromusic.extensions.dipToPix -import code.name.monkey.retromusic.extensions.focusAndShowKeyboard import code.name.monkey.retromusic.extensions.showToast import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment import com.google.android.material.textfield.TextInputEditText @@ -53,16 +54,17 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa mainActivity.setSupportActionBar(toolbar) libraryViewModel.clearSearchResult() setupRecyclerView() - searchView.apply { - addTextChangedListener(this@SearchFragment) - focusAndShowKeyboard() - } + searchView.addTextChangedListener(this) voiceSearch.setOnClickListener { startMicSearch() } clearText.setOnClickListener { searchView.clearText() } keyboardPopup.apply { accentColor() setOnClickListener { - searchView.focusAndShowKeyboard() + val inputManager = getSystemService( + requireContext(), + InputMethodManager::class.java + ) + inputManager?.showSoftInput(searchView, InputMethodManager.SHOW_IMPLICIT) } } if (savedInstanceState != null) {