|
@@ -19,7 +19,6 @@ import eu.davidea.flexibleadapter.items.IFlexible
|
|
|
import eu.kanade.tachiyomi.R
|
|
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|
|
import eu.kanade.tachiyomi.source.CatalogueSource
|
|
|
-import eu.kanade.tachiyomi.source.online.LoginSource
|
|
|
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
|
|
import eu.kanade.tachiyomi.ui.base.controller.requestPermissionsSafe
|
|
|
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
|
|
@@ -27,7 +26,6 @@ import eu.kanade.tachiyomi.ui.catalogue.browse.BrowseCatalogueController
|
|
|
import eu.kanade.tachiyomi.ui.catalogue.global_search.CatalogueSearchController
|
|
|
import eu.kanade.tachiyomi.ui.catalogue.latest.LatestUpdatesController
|
|
|
import eu.kanade.tachiyomi.ui.setting.SettingsSourcesController
|
|
|
-import eu.kanade.tachiyomi.widget.preference.SourceLoginDialog
|
|
|
import kotlinx.android.synthetic.main.catalogue_main_controller.recycler
|
|
|
import uy.kohesive.injekt.Injekt
|
|
|
import uy.kohesive.injekt.api.get
|
|
@@ -35,12 +33,10 @@ import uy.kohesive.injekt.api.get
|
|
|
/**
|
|
|
* This controller shows and manages the different catalogues enabled by the user.
|
|
|
* This controller should only handle UI actions, IO actions should be done by [CataloguePresenter]
|
|
|
- * [SourceLoginDialog.Listener] refreshes the adapter on successful login of catalogues.
|
|
|
* [CatalogueAdapter.OnBrowseClickListener] call function data on browse item click.
|
|
|
* [CatalogueAdapter.OnLatestClickListener] call function data on latest item click
|
|
|
*/
|
|
|
class CatalogueController : NucleusController<CataloguePresenter>(),
|
|
|
- SourceLoginDialog.Listener,
|
|
|
FlexibleAdapter.OnItemClickListener,
|
|
|
CatalogueAdapter.OnBrowseClickListener,
|
|
|
CatalogueAdapter.OnLatestClickListener {
|
|
@@ -122,32 +118,13 @@ class CatalogueController : NucleusController<CataloguePresenter>(),
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * Called when login dialog is closed, refreshes the adapter.
|
|
|
- *
|
|
|
- * @param source clicked item containing source information.
|
|
|
- */
|
|
|
- override fun loginDialogClosed(source: LoginSource) {
|
|
|
- if (source.isLogged()) {
|
|
|
- adapter?.clear()
|
|
|
- presenter.loadSources()
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* Called when item is clicked
|
|
|
*/
|
|
|
override fun onItemClick(view: View, position: Int): Boolean {
|
|
|
val item = adapter?.getItem(position) as? SourceItem ?: return false
|
|
|
val source = item.source
|
|
|
- if (source is LoginSource && !source.isLogged()) {
|
|
|
- val dialog = SourceLoginDialog(source)
|
|
|
- dialog.targetController = this
|
|
|
- dialog.showDialog(router)
|
|
|
- } else {
|
|
|
- // Open the catalogue view.
|
|
|
- openCatalogue(source, BrowseCatalogueController(source))
|
|
|
- }
|
|
|
+ openCatalogue(source, BrowseCatalogueController(source))
|
|
|
return false
|
|
|
}
|
|
|
|