优化
This commit is contained in:
@@ -10,7 +10,6 @@ import androidx.appcompat.widget.Toolbar
|
||||
import androidx.core.os.bundleOf
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import io.legado.app.R
|
||||
import io.legado.app.base.BaseDialogFragment
|
||||
@@ -88,7 +87,6 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
|
||||
}
|
||||
|
||||
private fun initRecyclerView() {
|
||||
binding.recyclerView.layoutManager = LinearLayoutManager(context)
|
||||
binding.recyclerView.addItemDecoration(VerticalDivider(requireContext()))
|
||||
binding.recyclerView.adapter = adapter
|
||||
adapter.registerAdapterDataObserver(object : RecyclerView.AdapterDataObserver() {
|
||||
@@ -167,6 +165,7 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
|
||||
|
||||
override fun onMenuItemClick(item: MenuItem?): Boolean {
|
||||
when (item?.itemId) {
|
||||
R.id.menu_scroll_to_dur -> scrollToDurSource()
|
||||
R.id.menu_check_author -> {
|
||||
AppConfig.changeSourceCheckAuthor = !item.isChecked
|
||||
item.isChecked = !item.isChecked
|
||||
@@ -198,6 +197,15 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
|
||||
return false
|
||||
}
|
||||
|
||||
private fun scrollToDurSource() {
|
||||
adapter.getItems().forEachIndexed { index, searchBook ->
|
||||
if (searchBook.bookUrl == bookUrl) {
|
||||
binding.recyclerView.scrollToPosition(index)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun changeTo(searchBook: SearchBook) {
|
||||
changeSource(searchBook)
|
||||
dismissAllowingStateLoss()
|
||||
|
||||
@@ -59,6 +59,12 @@ class ChangeChapterSourceDialog() : BaseDialogFragment(R.layout.dialog_chapter_c
|
||||
registerForActivityResult(StartActivityContract(BookSourceEditActivity::class.java)) {
|
||||
viewModel.startSearch()
|
||||
}
|
||||
private val searchBookAdapter by lazy {
|
||||
ChangeChapterSourceAdapter(requireContext(), viewModel, this)
|
||||
}
|
||||
private val tocAdapter by lazy {
|
||||
ChangeChapterTocAdapter(requireContext(), this)
|
||||
}
|
||||
private val tocSuccess: (toc: List<BookChapter>) -> Unit = {
|
||||
tocAdapter.durChapterIndex =
|
||||
BookHelp.getDurChapter(viewModel.chapterIndex, viewModel.chapterTitle, it)
|
||||
@@ -71,12 +77,6 @@ class ChangeChapterSourceDialog() : BaseDialogFragment(R.layout.dialog_chapter_c
|
||||
callBack?.replaceContent(it)
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
private val searchBookAdapter by lazy {
|
||||
ChangeChapterSourceAdapter(requireContext(), viewModel, this)
|
||||
}
|
||||
private val tocAdapter by lazy {
|
||||
ChangeChapterTocAdapter(requireContext(), this)
|
||||
}
|
||||
private var searchBook: SearchBook? = null
|
||||
|
||||
override fun onStart() {
|
||||
@@ -199,6 +199,7 @@ class ChangeChapterSourceDialog() : BaseDialogFragment(R.layout.dialog_chapter_c
|
||||
|
||||
override fun onMenuItemClick(item: MenuItem?): Boolean {
|
||||
when (item?.itemId) {
|
||||
R.id.menu_scroll_to_dur -> scrollToDurSource()
|
||||
R.id.menu_check_author -> {
|
||||
AppConfig.changeSourceCheckAuthor = !item.isChecked
|
||||
item.isChecked = !item.isChecked
|
||||
@@ -230,6 +231,15 @@ class ChangeChapterSourceDialog() : BaseDialogFragment(R.layout.dialog_chapter_c
|
||||
return false
|
||||
}
|
||||
|
||||
private fun scrollToDurSource() {
|
||||
searchBookAdapter.getItems().forEachIndexed { index, searchBook ->
|
||||
if (searchBook.bookUrl == bookUrl) {
|
||||
binding.recyclerView.scrollToPosition(index)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun openToc(searchBook: SearchBook) {
|
||||
this.searchBook = searchBook
|
||||
tocAdapter.setItems(null)
|
||||
|
||||
Reference in New Issue
Block a user