Global search from extensions intents no longer show search toolbar

Also fixed search toolbar up button in search activity not going back to main activity
This commit is contained in:
Jays2Kings 2021-04-27 14:40:38 -04:00
parent 797174843a
commit 94406f6480
3 changed files with 22 additions and 5 deletions

View File

@ -148,7 +148,7 @@ open class MainActivity : BaseActivity<MainActivityBinding>(), DownloadServiceLi
binding = MainActivityBinding.inflate(layoutInflater) binding = MainActivityBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)
setFloatingToolbar(true) setFloatingToolbar(this !is SearchActivity)
drawerArrow = DrawerArrowDrawable(this) drawerArrow = DrawerArrowDrawable(this)
drawerArrow?.color = getResourceColor(R.attr.actionBarTintColor) drawerArrow?.color = getResourceColor(R.attr.actionBarTintColor)
@ -346,7 +346,7 @@ open class MainActivity : BaseActivity<MainActivityBinding>(), DownloadServiceLi
setExtensionsBadge() setExtensionsBadge()
} }
fun setFloatingToolbar(show: Boolean, solidBG: Boolean = false) { open fun setFloatingToolbar(show: Boolean, solidBG: Boolean = false) {
val oldTB = currentToolbar val oldTB = currentToolbar
currentToolbar = if (show) { currentToolbar = if (show) {
binding.cardToolbar binding.cardToolbar
@ -654,7 +654,9 @@ open class MainActivity : BaseActivity<MainActivityBinding>(), DownloadServiceLi
override fun onPrepareOptionsMenu(menu: Menu?): Boolean { override fun onPrepareOptionsMenu(menu: Menu?): Boolean {
val searchItem = menu?.findItem(R.id.action_search) val searchItem = menu?.findItem(R.id.action_search)
searchItem?.isVisible = currentToolbar != binding.cardToolbar if (currentToolbar == binding.cardToolbar) {
searchItem?.isVisible = false
}
return super.onPrepareOptionsMenu(menu) return super.onPrepareOptionsMenu(menu)
} }
@ -711,7 +713,7 @@ open class MainActivity : BaseActivity<MainActivityBinding>(), DownloadServiceLi
} }
protected fun canShowFloatingToolbar(controller: Controller?) = protected fun canShowFloatingToolbar(controller: Controller?) =
controller is FloatingSearchInterface (controller is FloatingSearchInterface && controller.showFloatingBar())
protected open fun syncActivityViewWithController( protected open fun syncActivityViewWithController(
to: Controller?, to: Controller?,
@ -910,6 +912,8 @@ interface FloatingSearchInterface {
} }
return title return title
} }
fun showFloatingBar() = true
} }
interface BottomSheetController { interface BottomSheetController {

View File

@ -51,6 +51,11 @@ class SearchActivity : MainActivity() {
} }
} }
override fun setFloatingToolbar(show: Boolean, solidBG: Boolean) {
super.setFloatingToolbar(show, solidBG)
currentToolbar?.setNavigationOnClickListener { popToRoot() }
}
private fun intentShouldGoBack() = private fun intentShouldGoBack() =
intent.action in listOf(SHORTCUT_MANGA, SHORTCUT_READER_SETTINGS, SHORTCUT_BROWSE) intent.action in listOf(SHORTCUT_MANGA, SHORTCUT_READER_SETTINGS, SHORTCUT_BROWSE)

View File

@ -17,6 +17,7 @@ import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.main.FloatingSearchInterface import eu.kanade.tachiyomi.ui.main.FloatingSearchInterface
import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.ui.main.MainActivity
import eu.kanade.tachiyomi.ui.main.SearchActivity
import eu.kanade.tachiyomi.ui.manga.MangaDetailsController import eu.kanade.tachiyomi.ui.manga.MangaDetailsController
import eu.kanade.tachiyomi.ui.source.browse.BrowseSourceController import eu.kanade.tachiyomi.ui.source.browse.BrowseSourceController
import eu.kanade.tachiyomi.util.addOrRemoveToFavorites import eu.kanade.tachiyomi.util.addOrRemoveToFavorites
@ -26,6 +27,7 @@ import eu.kanade.tachiyomi.util.view.snack
import eu.kanade.tachiyomi.util.view.updatePaddingRelative import eu.kanade.tachiyomi.util.view.updatePaddingRelative
import eu.kanade.tachiyomi.util.view.withFadeTransaction import eu.kanade.tachiyomi.util.view.withFadeTransaction
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
import kotlin.math.max
/** /**
* This controller shows and manages the different search result in global search. * This controller shows and manages the different search result in global search.
@ -127,6 +129,11 @@ open class GlobalSearchController(
} }
} }
override fun showFloatingBar() =
activity !is SearchActivity ||
customTitle == null ||
extensionFilter == null
/** /**
* Adds items to the options menu. * Adds items to the options menu.
* *
@ -175,7 +182,7 @@ open class GlobalSearchController(
adapter = GlobalSearchAdapter(this) adapter = GlobalSearchAdapter(this)
binding.recycler.updatePaddingRelative( binding.recycler.updatePaddingRelative(
top = (activityBinding?.toolbar?.height ?: 0) + top = max(activityBinding?.toolbar?.height ?: 0, (activityBinding?.cardToolbar?.height ?: 0)) +
(activity?.window?.decorView?.rootWindowInsets?.systemWindowInsetTop ?: 0) (activity?.window?.decorView?.rootWindowInsets?.systemWindowInsetTop ?: 0)
) )
@ -242,6 +249,7 @@ open class GlobalSearchController(
) )
return return
} else if (results != null) { } else if (results != null) {
(activity as? SearchActivity)?.setFloatingToolbar(true)
customTitle = null customTitle = null
setTitle() setTitle()
activity?.invalidateOptionsMenu() activity?.invalidateOptionsMenu()