Add Global Search requested changes
(cherry picked from commit 18d640ccf4ed88f12ec1112b1116c222f8e51cb7) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchAdapter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt
This commit is contained in:
parent
96273c3dac
commit
c370af5a48
@ -15,9 +15,6 @@ import eu.kanade.tachiyomi.source.CatalogueSource
|
|||||||
class GlobalSearchAdapter(val controller: GlobalSearchController) :
|
class GlobalSearchAdapter(val controller: GlobalSearchController) :
|
||||||
FlexibleAdapter<GlobalSearchItem>(null, controller, true) {
|
FlexibleAdapter<GlobalSearchItem>(null, controller, true) {
|
||||||
|
|
||||||
/**
|
|
||||||
* Listen for more button clicks.
|
|
||||||
*/
|
|
||||||
val titleClickListener: OnTitleClickListener = controller
|
val titleClickListener: OnTitleClickListener = controller
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -11,7 +11,6 @@ import androidx.appcompat.widget.SearchView
|
|||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
import eu.kanade.tachiyomi.data.database.models.Manga
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|
||||||
import eu.kanade.tachiyomi.databinding.GlobalSearchControllerBinding
|
import eu.kanade.tachiyomi.databinding.GlobalSearchControllerBinding
|
||||||
import eu.kanade.tachiyomi.source.CatalogueSource
|
import eu.kanade.tachiyomi.source.CatalogueSource
|
||||||
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
||||||
@ -24,7 +23,6 @@ import kotlinx.coroutines.flow.launchIn
|
|||||||
import kotlinx.coroutines.flow.onEach
|
import kotlinx.coroutines.flow.onEach
|
||||||
import reactivecircus.flowbinding.appcompat.QueryTextEvent
|
import reactivecircus.flowbinding.appcompat.QueryTextEvent
|
||||||
import reactivecircus.flowbinding.appcompat.queryTextEvents
|
import reactivecircus.flowbinding.appcompat.queryTextEvents
|
||||||
import uy.kohesive.injekt.injectLazy
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This controller shows and manages the different search result in global search.
|
* This controller shows and manages the different search result in global search.
|
||||||
@ -38,11 +36,6 @@ open class GlobalSearchController(
|
|||||||
GlobalSearchCardAdapter.OnMangaClickListener,
|
GlobalSearchCardAdapter.OnMangaClickListener,
|
||||||
GlobalSearchAdapter.OnTitleClickListener {
|
GlobalSearchAdapter.OnTitleClickListener {
|
||||||
|
|
||||||
/**
|
|
||||||
* Application preferences.
|
|
||||||
*/
|
|
||||||
private val preferences: PreferencesHelper by injectLazy()
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adapter containing search results grouped by lang.
|
* Adapter containing search results grouped by lang.
|
||||||
*/
|
*/
|
||||||
@ -84,7 +77,7 @@ open class GlobalSearchController(
|
|||||||
*/
|
*/
|
||||||
override fun onMangaClick(manga: Manga) {
|
override fun onMangaClick(manga: Manga) {
|
||||||
// Open MangaController.
|
// Open MangaController.
|
||||||
if (preferences.eh_useNewMangaInterface().get()) {
|
if (presenter.preferences.eh_useNewMangaInterface().get()) {
|
||||||
router.pushController(MangaAllInOneController(manga, true).withFadeTransaction())
|
router.pushController(MangaAllInOneController(manga, true).withFadeTransaction())
|
||||||
} else {
|
} else {
|
||||||
router.pushController(MangaController(manga, true).withFadeTransaction())
|
router.pushController(MangaController(manga, true).withFadeTransaction())
|
||||||
@ -205,15 +198,11 @@ open class GlobalSearchController(
|
|||||||
getHolder(source)?.setImage(manga)
|
getHolder(source)?.setImage(manga)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onTitleClick(source: CatalogueSource) {
|
|
||||||
openCatalogue(source, BrowseSourceController(source, presenter.query))
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Opens a catalogue with the given controller.
|
* Opens a catalogue with the given search.
|
||||||
*/
|
*/
|
||||||
private fun openCatalogue(source: CatalogueSource, controller: BrowseSourceController) {
|
override fun onTitleClick(source: CatalogueSource) {
|
||||||
preferences.lastUsedCatalogueSource().set(source.id)
|
presenter.preferences.lastUsedCatalogueSource().set(source.id)
|
||||||
router.pushController(controller.withFadeTransaction())
|
router.pushController(BrowseSourceController(source, presenter.query).withFadeTransaction())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,9 +32,8 @@ class GlobalSearchHolder(view: View, val adapter: GlobalSearchAdapter) :
|
|||||||
recycler.layoutManager = LinearLayoutManager(view.context, LinearLayoutManager.HORIZONTAL, false)
|
recycler.layoutManager = LinearLayoutManager(view.context, LinearLayoutManager.HORIZONTAL, false)
|
||||||
recycler.adapter = mangaAdapter
|
recycler.adapter = mangaAdapter
|
||||||
title.setOnClickListener {
|
title.setOnClickListener {
|
||||||
val item = adapter.getItem(bindingAdapterPosition)
|
adapter.getItem(bindingAdapterPosition)?.let {
|
||||||
if (item != null) {
|
adapter.titleClickListener.onTitleClick(it.source)
|
||||||
adapter.titleClickListener.onTitleClick(item.source)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user