|
|
|
@ -22,6 +22,7 @@ import androidx.core.view.updatePadding
|
|
|
|
import androidx.fragment.app.Fragment
|
|
|
|
import androidx.fragment.app.Fragment
|
|
|
|
import androidx.fragment.app.FragmentTransaction
|
|
|
|
import androidx.fragment.app.FragmentTransaction
|
|
|
|
import androidx.fragment.app.commit
|
|
|
|
import androidx.fragment.app.commit
|
|
|
|
|
|
|
|
import androidx.lifecycle.Lifecycle
|
|
|
|
import androidx.lifecycle.lifecycleScope
|
|
|
|
import androidx.lifecycle.lifecycleScope
|
|
|
|
import androidx.lifecycle.withResumed
|
|
|
|
import androidx.lifecycle.withResumed
|
|
|
|
import androidx.transition.TransitionManager
|
|
|
|
import androidx.transition.TransitionManager
|
|
|
|
@ -229,6 +230,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), AppBarOwner, BottomNav
|
|
|
|
supportFragmentManager.commit {
|
|
|
|
supportFragmentManager.commit {
|
|
|
|
setReorderingAllowed(true)
|
|
|
|
setReorderingAllowed(true)
|
|
|
|
add(R.id.container, SearchSuggestionFragment.newInstance(), TAG_SEARCH)
|
|
|
|
add(R.id.container, SearchSuggestionFragment.newInstance(), TAG_SEARCH)
|
|
|
|
|
|
|
|
navigationDelegate.primaryFragment?.let {
|
|
|
|
|
|
|
|
setMaxLifecycle(it, Lifecycle.State.STARTED)
|
|
|
|
|
|
|
|
}
|
|
|
|
setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
|
|
|
|
setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
|
|
|
|
runOnCommit { onSearchOpened() }
|
|
|
|
runOnCommit { onSearchOpened() }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -414,16 +418,20 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), AppBarOwner, BottomNav
|
|
|
|
private inner class CloseSearchCallback : OnBackPressedCallback(false) {
|
|
|
|
private inner class CloseSearchCallback : OnBackPressedCallback(false) {
|
|
|
|
|
|
|
|
|
|
|
|
override fun handleOnBackPressed() {
|
|
|
|
override fun handleOnBackPressed() {
|
|
|
|
val fragment = supportFragmentManager.findFragmentByTag(TAG_SEARCH)
|
|
|
|
val fm = supportFragmentManager
|
|
|
|
|
|
|
|
val fragment = fm.findFragmentByTag(TAG_SEARCH)
|
|
|
|
viewBinding.searchView.clearFocus()
|
|
|
|
viewBinding.searchView.clearFocus()
|
|
|
|
if (fragment == null) {
|
|
|
|
if (fragment == null) {
|
|
|
|
// this should not happen but who knows
|
|
|
|
// this should not happen but who knows
|
|
|
|
isEnabled = false
|
|
|
|
isEnabled = false
|
|
|
|
return
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
supportFragmentManager.commit {
|
|
|
|
fm.commit {
|
|
|
|
setReorderingAllowed(true)
|
|
|
|
setReorderingAllowed(true)
|
|
|
|
remove(fragment)
|
|
|
|
remove(fragment)
|
|
|
|
|
|
|
|
navigationDelegate.primaryFragment?.let {
|
|
|
|
|
|
|
|
setMaxLifecycle(it, Lifecycle.State.RESUMED)
|
|
|
|
|
|
|
|
}
|
|
|
|
setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
|
|
|
|
setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
|
|
|
|
runOnCommit { onSearchClosed() }
|
|
|
|
runOnCommit { onSearchClosed() }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|