LicensesController: Move item init to IO thread (#6020)

This commit is contained in:
Ivan Iskandar
2021-10-03 23:00:00 +07:00
committed by GitHub
parent dc92ffed87
commit b0f87fdd21
2 changed files with 34 additions and 8 deletions

View File

@@ -9,6 +9,8 @@ import eu.davidea.flexibleadapter.FlexibleAdapter
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.databinding.LicensesControllerBinding
import eu.kanade.tachiyomi.ui.base.controller.BaseController
import eu.kanade.tachiyomi.util.lang.launchUI
import eu.kanade.tachiyomi.util.lang.withIOContext
import eu.kanade.tachiyomi.util.system.openInBrowser
class LicensesController :
@@ -30,15 +32,25 @@ class LicensesController :
padding()
}
}
binding.progress.applyInsetter {
type(navigationBars = true) {
padding()
}
}
binding.recycler.layoutManager = LinearLayoutManager(view.context)
adapter = LicensesAdapter(this)
binding.recycler.adapter = adapter
val licenseItems = Libs(view.context).libraries
.sortedBy { it.libraryName.lowercase() }
.map { LicensesItem(it) }
adapter?.updateDataSet(licenseItems)
viewScope.launchUI {
val licenseItems = withIOContext {
Libs(view.context).libraries
.sortedBy { it.libraryName.lowercase() }
.map { LicensesItem(it) }
}
binding.progress.hide()
adapter?.updateDataSet(licenseItems)
}
}
override fun onDestroyView(view: View) {