From 6647db747f075f6d9a9272f8de05bc4c232a1d74 Mon Sep 17 00:00:00 2001 From: arkon Date: Sat, 30 May 2020 23:16:17 -0400 Subject: [PATCH] Fix crash when opening chapter from migration (cherry picked from commit 77d378ccd1559617af08a8f067d81f5028f5c7e2) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt --- .../manga/MigrationMangaController.kt | 21 ++++++++++++------- .../sources/MigrationSourcesController.kt | 2 +- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaController.kt index 93dc1bca4..32a542db2 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaController.kt @@ -10,7 +10,6 @@ import eu.davidea.flexibleadapter.items.IFlexible import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.databinding.MigrationMangaControllerBinding -import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.browse.migration.advanced.design.PreMigrationController import eu.kanade.tachiyomi.ui.browse.source.SourceDividerItemDecoration @@ -24,23 +23,28 @@ class MigrationMangaController : private var adapter: FlexibleAdapter>? = null - constructor(source: Source) : super( + constructor(sourceId: Long, sourceName: String?) : super( Bundle().apply { - putSerializable(SOURCE_EXTRA, source) + putLong(SOURCE_ID_EXTRA, sourceId) + putString(SOURCE_NAME_EXTRA, sourceName) } ) @Suppress("unused") - constructor(bundle: Bundle) : this(bundle.getSerializable(SOURCE_EXTRA) as Source) + constructor(bundle: Bundle) : this( + bundle.getLong(SOURCE_ID_EXTRA), + bundle.getString(SOURCE_NAME_EXTRA) + ) - private val source: Source = args.getSerializable(SOURCE_EXTRA) as Source + private val sourceId: Long = args.getLong(SOURCE_ID_EXTRA) + private val sourceName: String? = args.getString(SOURCE_NAME_EXTRA) override fun getTitle(): String? { - return source.name + return sourceName } override fun createPresenter(): MigrationMangaPresenter { - return MigrationMangaPresenter(source.id) + return MigrationMangaPresenter(sourceId) } override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View { @@ -84,7 +88,8 @@ class MigrationMangaController : } companion object { - const val SOURCE_EXTRA = "source_id_extra" + const val SOURCE_ID_EXTRA = "source_id_extra" + const val SOURCE_NAME_EXTRA = "source_name_extra" } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt index 1def120ab..b9104a40c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt @@ -64,7 +64,7 @@ class MigrationSourcesController : override fun onItemClick(view: View?, position: Int): Boolean { val item = adapter?.getItem(position) as? SourceItem ?: return false - val controller = MigrationMangaController(item.source) + val controller = MigrationMangaController(item.source.id, item.source.name) if (parentController is BrowseController) { parentController!!.router.pushController(controller.withFadeTransaction()) } else {