search: auto-open keyboard
Auto-open the keyboard on the search tab when it starts.
This commit is contained in:
parent
49eca55cd7
commit
88a8fc9bde
1 changed files with 12 additions and 0 deletions
|
@ -22,6 +22,8 @@ import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import android.view.inputmethod.InputMethodManager
|
||||||
|
import androidx.core.view.postDelayed
|
||||||
import androidx.core.widget.addTextChangedListener
|
import androidx.core.widget.addTextChangedListener
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.activityViewModels
|
import androidx.fragment.app.activityViewModels
|
||||||
|
@ -32,6 +34,7 @@ import com.google.android.material.appbar.AppBarLayout
|
||||||
import org.oxycblt.auxio.R
|
import org.oxycblt.auxio.R
|
||||||
import org.oxycblt.auxio.databinding.FragmentSearchBinding
|
import org.oxycblt.auxio.databinding.FragmentSearchBinding
|
||||||
import org.oxycblt.auxio.detail.DetailViewModel
|
import org.oxycblt.auxio.detail.DetailViewModel
|
||||||
|
import org.oxycblt.auxio.getSystemServiceSafe
|
||||||
import org.oxycblt.auxio.logD
|
import org.oxycblt.auxio.logD
|
||||||
import org.oxycblt.auxio.music.Album
|
import org.oxycblt.auxio.music.Album
|
||||||
import org.oxycblt.auxio.music.Artist
|
import org.oxycblt.auxio.music.Artist
|
||||||
|
@ -62,6 +65,8 @@ class SearchFragment : Fragment() {
|
||||||
|
|
||||||
val searchAdapter = SearchAdapter(::onItemSelection, ::newMenu)
|
val searchAdapter = SearchAdapter(::onItemSelection, ::newMenu)
|
||||||
|
|
||||||
|
val imm = requireContext().getSystemServiceSafe(InputMethodManager::class)
|
||||||
|
|
||||||
val toolbarParams = binding.searchToolbar.layoutParams as AppBarLayout.LayoutParams
|
val toolbarParams = binding.searchToolbar.layoutParams as AppBarLayout.LayoutParams
|
||||||
val defaultParams = toolbarParams.scrollFlags
|
val defaultParams = toolbarParams.scrollFlags
|
||||||
|
|
||||||
|
@ -73,6 +78,7 @@ class SearchFragment : Fragment() {
|
||||||
menu.findItem(searchModel.filterMode.toId()).isChecked = true
|
menu.findItem(searchModel.filterMode.toId()).isChecked = true
|
||||||
|
|
||||||
setNavigationOnClickListener {
|
setNavigationOnClickListener {
|
||||||
|
requireView().rootView.clearFocus()
|
||||||
findNavController().navigateUp()
|
findNavController().navigateUp()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,6 +114,12 @@ class SearchFragment : Fragment() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Auto-open the keyboard
|
||||||
|
binding.searchEditText.requestFocus()
|
||||||
|
binding.searchEditText.postDelayed(200) {
|
||||||
|
imm.showSoftInput(binding.searchEditText, InputMethodManager.SHOW_IMPLICIT)
|
||||||
|
}
|
||||||
|
|
||||||
// --- VIEWMODEL SETUP ---
|
// --- VIEWMODEL SETUP ---
|
||||||
|
|
||||||
searchModel.searchResults.observe(viewLifecycleOwner) { results ->
|
searchModel.searchResults.observe(viewLifecycleOwner) { results ->
|
||||||
|
|
Loading…
Reference in a new issue