mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-08-03 18:56:44 -04:00
Merge pull request #2604 from gouri-panda/Feature/gouri-panda/fix_exteranl_search
This commit is contained in:
commit
8b5079020f
@ -26,11 +26,13 @@ import android.view.MenuItem
|
|||||||
import android.view.MenuItem.OnActionExpandListener
|
import android.view.MenuItem.OnActionExpandListener
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import androidx.activity.OnBackPressedCallback
|
||||||
import androidx.appcompat.widget.SearchView
|
import androidx.appcompat.widget.SearchView
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.core.widget.ContentLoadingProgressBar
|
import androidx.core.widget.ContentLoadingProgressBar
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import kotlinx.android.synthetic.main.fragment_search.searchLoadingIndicator
|
import kotlinx.android.synthetic.main.fragment_search.searchLoadingIndicator
|
||||||
@ -107,6 +109,17 @@ class SearchFragment : BaseFragment() {
|
|||||||
lifecycleScope.launchWhenCreated {
|
lifecycleScope.launchWhenCreated {
|
||||||
searchViewModel.effects.collect { it.invokeWith(this@SearchFragment.coreMainActivity) }
|
searchViewModel.effects.collect { it.invokeWith(this@SearchFragment.coreMainActivity) }
|
||||||
}
|
}
|
||||||
|
handleBackPress()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun handleBackPress() {
|
||||||
|
activity?.onBackPressedDispatcher?.addCallback(
|
||||||
|
viewLifecycleOwner,
|
||||||
|
object : OnBackPressedCallback(true) {
|
||||||
|
override fun handleOnBackPressed() {
|
||||||
|
goBack()
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupToolbar(view: View) {
|
private fun setupToolbar(view: View) {
|
||||||
@ -122,6 +135,12 @@ class SearchFragment : BaseFragment() {
|
|||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
super.onDestroyView()
|
super.onDestroyView()
|
||||||
closeKeyboard()
|
closeKeyboard()
|
||||||
|
activity?.intent?.action = null
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun goBack() {
|
||||||
|
val readerFragmentResId = (activity as CoreMainActivity).readerFragmentResId
|
||||||
|
findNavController().popBackStack(readerFragmentResId, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
||||||
@ -153,6 +172,7 @@ class SearchFragment : BaseFragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun render(state: SearchState) {
|
private fun render(state: SearchState) {
|
||||||
|
searchView.setQuery(state.searchTerm, false)
|
||||||
searchInTextMenuItem.isVisible = state.searchOrigin == FromWebView
|
searchInTextMenuItem.isVisible = state.searchOrigin == FromWebView
|
||||||
searchInTextMenuItem.isEnabled = state.searchTerm.isNotBlank()
|
searchInTextMenuItem.isEnabled = state.searchTerm.isNotBlank()
|
||||||
searchLoadingIndicator.isShowing(state.isLoading)
|
searchLoadingIndicator.isShowing(state.isLoading)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user