Fix crash when opening chapter from migration

This commit is contained in:
arkon 2020-05-30 23:16:17 -04:00
parent 1a542bae71
commit 77d378ccd1
2 changed files with 14 additions and 9 deletions

View file

@ -8,7 +8,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
import eu.davidea.flexibleadapter.FlexibleAdapter import eu.davidea.flexibleadapter.FlexibleAdapter
import eu.davidea.flexibleadapter.items.IFlexible import eu.davidea.flexibleadapter.items.IFlexible
import eu.kanade.tachiyomi.databinding.MigrationMangaControllerBinding 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.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
import eu.kanade.tachiyomi.ui.browse.migration.search.SearchController import eu.kanade.tachiyomi.ui.browse.migration.search.SearchController
@ -20,23 +19,28 @@ class MigrationMangaController :
private var adapter: FlexibleAdapter<IFlexible<*>>? = null private var adapter: FlexibleAdapter<IFlexible<*>>? = null
constructor(source: Source) : super( constructor(sourceId: Long, sourceName: String?) : super(
Bundle().apply { Bundle().apply {
putSerializable(SOURCE_EXTRA, source) putLong(SOURCE_ID_EXTRA, sourceId)
putString(SOURCE_NAME_EXTRA, sourceName)
} }
) )
@Suppress("unused") @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? { override fun getTitle(): String? {
return source.name return sourceName
} }
override fun createPresenter(): MigrationMangaPresenter { override fun createPresenter(): MigrationMangaPresenter {
return MigrationMangaPresenter(source.id) return MigrationMangaPresenter(sourceId)
} }
override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View { override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View {
@ -71,6 +75,7 @@ class MigrationMangaController :
} }
companion object { 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"
} }
} }

View file

@ -47,7 +47,7 @@ class MigrationSourcesController :
override fun onItemClick(view: View, position: Int): Boolean { override fun onItemClick(view: View, position: Int): Boolean {
val item = adapter?.getItem(position) as? SourceItem ?: return false val item = adapter?.getItem(position) as? SourceItem ?: return false
val controller = MigrationMangaController(item.source) val controller = MigrationMangaController(item.source.id, item.source.name)
parentController!!.router.pushController(controller.withFadeTransaction()) parentController!!.router.pushController(controller.withFadeTransaction())
return false return false
} }