Fix crashing when using migrate from the library overflow menu
This commit is contained in:
parent
b66f97f0b4
commit
6957dce332
@ -14,6 +14,7 @@ import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
|
|||||||
import eu.kanade.tachiyomi.ui.browse.migration.advanced.design.PreMigrationController
|
import eu.kanade.tachiyomi.ui.browse.migration.advanced.design.PreMigrationController
|
||||||
import eu.kanade.tachiyomi.ui.browse.migration.manga.MigrationMangaController
|
import eu.kanade.tachiyomi.ui.browse.migration.manga.MigrationMangaController
|
||||||
import eu.kanade.tachiyomi.ui.browse.source.SourceDividerItemDecoration
|
import eu.kanade.tachiyomi.ui.browse.source.SourceDividerItemDecoration
|
||||||
|
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController
|
||||||
import eu.kanade.tachiyomi.util.lang.launchUI
|
import eu.kanade.tachiyomi.util.lang.launchUI
|
||||||
import exh.util.await
|
import exh.util.await
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@ -41,8 +42,7 @@ class MigrationSourcesController :
|
|||||||
override fun onViewCreated(view: View) {
|
override fun onViewCreated(view: View) {
|
||||||
super.onViewCreated(view)
|
super.onViewCreated(view)
|
||||||
|
|
||||||
adapter =
|
adapter = SourceAdapter(this)
|
||||||
SourceAdapter(this)
|
|
||||||
binding.recycler.layoutManager = LinearLayoutManager(view.context)
|
binding.recycler.layoutManager = LinearLayoutManager(view.context)
|
||||||
binding.recycler.adapter = adapter
|
binding.recycler.adapter = adapter
|
||||||
binding.recycler.addItemDecoration(SourceDividerItemDecoration(view.context))
|
binding.recycler.addItemDecoration(SourceDividerItemDecoration(view.context))
|
||||||
@ -63,30 +63,31 @@ 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
|
val item = adapter?.getItem(position) as? SourceItem ?: return false
|
||||||
?: return false
|
val controller = MigrationMangaController(item.source)
|
||||||
val controller =
|
if (parentController is BrowseSourceController) {
|
||||||
MigrationMangaController(
|
parentController!!.router.pushController(controller.withFadeTransaction())
|
||||||
item.source
|
} else {
|
||||||
)
|
router.pushController(controller.withFadeTransaction())
|
||||||
parentController!!.router.pushController(controller.withFadeTransaction())
|
}
|
||||||
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onAllClick(position: Int) {
|
override fun onAllClick(position: Int) {
|
||||||
val item = adapter?.getItem(position) as? SourceItem
|
val item = adapter?.getItem(position) as? SourceItem ?: return
|
||||||
?: return
|
|
||||||
|
|
||||||
launchUI {
|
launchUI {
|
||||||
val manga = Injekt.get<DatabaseHelper>().getFavoriteMangas().asRxSingle().await(
|
val manga = Injekt.get<DatabaseHelper>().getFavoriteMangas().asRxSingle().await(Schedulers.io())
|
||||||
Schedulers.io()
|
val sourceMangas = manga.asSequence().filter { it.source == item.source.id }.map { it.id!! }.toList()
|
||||||
)
|
|
||||||
val sourceMangas =
|
|
||||||
manga.asSequence().filter { it.source == item.source.id }.map { it.id!! }.toList()
|
|
||||||
withContext(Dispatchers.Main) {
|
withContext(Dispatchers.Main) {
|
||||||
PreMigrationController.navigateToMigration(
|
PreMigrationController.navigateToMigration(
|
||||||
Injekt.get<PreferencesHelper>().skipPreMigration().get(),
|
Injekt.get<PreferencesHelper>().skipPreMigration().get(),
|
||||||
parentController!!.router,
|
if (parentController is BrowseSourceController) {
|
||||||
|
parentController!!.router
|
||||||
|
} else {
|
||||||
|
router
|
||||||
|
},
|
||||||
sourceMangas
|
sourceMangas
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user