@@ -9,7 +9,6 @@ import androidx.lifecycle.LiveData
|
|||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.base.VMBaseFragment
|
import io.legado.app.base.VMBaseFragment
|
||||||
import io.legado.app.constant.EventBus
|
import io.legado.app.constant.EventBus
|
||||||
import io.legado.app.constant.PreferKey
|
|
||||||
import io.legado.app.data.appDb
|
import io.legado.app.data.appDb
|
||||||
import io.legado.app.data.entities.Book
|
import io.legado.app.data.entities.Book
|
||||||
import io.legado.app.data.entities.BookGroup
|
import io.legado.app.data.entities.BookGroup
|
||||||
@@ -137,7 +136,7 @@ abstract class BaseBookshelfFragment(layoutId: Int) : VMBaseFragment<BookshelfVi
|
|||||||
@SuppressLint("InflateParams")
|
@SuppressLint("InflateParams")
|
||||||
fun configBookshelf() {
|
fun configBookshelf() {
|
||||||
alert(titleResource = R.string.bookshelf_layout) {
|
alert(titleResource = R.string.bookshelf_layout) {
|
||||||
val bookshelfLayout = getPrefInt(PreferKey.bookshelfLayout)
|
val bookshelfLayout = AppConfig.bookshelfLayout
|
||||||
val bookshelfSort = AppConfig.bookshelfSort
|
val bookshelfSort = AppConfig.bookshelfSort
|
||||||
val alertBinding =
|
val alertBinding =
|
||||||
DialogBookshelfConfigBinding.inflate(layoutInflater)
|
DialogBookshelfConfigBinding.inflate(layoutInflater)
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import androidx.fragment.app.FragmentManager
|
|||||||
import androidx.fragment.app.FragmentStatePagerAdapter
|
import androidx.fragment.app.FragmentStatePagerAdapter
|
||||||
import com.google.android.material.tabs.TabLayout
|
import com.google.android.material.tabs.TabLayout
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.constant.PreferKey
|
|
||||||
import io.legado.app.data.appDb
|
import io.legado.app.data.appDb
|
||||||
import io.legado.app.data.entities.Book
|
import io.legado.app.data.entities.Book
|
||||||
import io.legado.app.data.entities.BookGroup
|
import io.legado.app.data.entities.BookGroup
|
||||||
@@ -126,7 +125,7 @@ class BookshelfFragment1() : BaseBookshelfFragment(R.layout.fragment_bookshelf1)
|
|||||||
override fun onTabUnselected(tab: TabLayout.Tab) = Unit
|
override fun onTabUnselected(tab: TabLayout.Tab) = Unit
|
||||||
|
|
||||||
override fun onTabSelected(tab: TabLayout.Tab) {
|
override fun onTabSelected(tab: TabLayout.Tab) {
|
||||||
putPrefInt(PreferKey.saveTabPosition, tab.position)
|
AppConfig.saveTabPosition = tab.position
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun gotoTop() {
|
override fun gotoTop() {
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ import io.legado.app.R
|
|||||||
import io.legado.app.base.BaseFragment
|
import io.legado.app.base.BaseFragment
|
||||||
import io.legado.app.constant.AppLog
|
import io.legado.app.constant.AppLog
|
||||||
import io.legado.app.constant.EventBus
|
import io.legado.app.constant.EventBus
|
||||||
import io.legado.app.constant.PreferKey
|
|
||||||
import io.legado.app.data.appDb
|
import io.legado.app.data.appDb
|
||||||
import io.legado.app.data.entities.Book
|
import io.legado.app.data.entities.Book
|
||||||
import io.legado.app.data.entities.BookGroup
|
import io.legado.app.data.entities.BookGroup
|
||||||
@@ -52,9 +51,7 @@ class BooksFragment() : BaseFragment(R.layout.fragment_books),
|
|||||||
|
|
||||||
private val binding by viewBinding(FragmentBooksBinding::bind)
|
private val binding by viewBinding(FragmentBooksBinding::bind)
|
||||||
private val activityViewModel by activityViewModels<MainViewModel>()
|
private val activityViewModel by activityViewModels<MainViewModel>()
|
||||||
private val bookshelfLayout by lazy {
|
private val bookshelfLayout by lazy { AppConfig.bookshelfLayout }
|
||||||
getPrefInt(PreferKey.bookshelfLayout)
|
|
||||||
}
|
|
||||||
private val booksAdapter: BaseBooksAdapter<*> by lazy {
|
private val booksAdapter: BaseBooksAdapter<*> by lazy {
|
||||||
if (bookshelfLayout == 0) {
|
if (bookshelfLayout == 0) {
|
||||||
BooksAdapterList(requireContext(), this)
|
BooksAdapterList(requireContext(), this)
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import androidx.recyclerview.widget.RecyclerView
|
|||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.constant.AppLog
|
import io.legado.app.constant.AppLog
|
||||||
import io.legado.app.constant.EventBus
|
import io.legado.app.constant.EventBus
|
||||||
import io.legado.app.constant.PreferKey
|
|
||||||
import io.legado.app.data.appDb
|
import io.legado.app.data.appDb
|
||||||
import io.legado.app.data.entities.Book
|
import io.legado.app.data.entities.Book
|
||||||
import io.legado.app.data.entities.BookGroup
|
import io.legado.app.data.entities.BookGroup
|
||||||
@@ -53,9 +52,7 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2)
|
|||||||
}
|
}
|
||||||
|
|
||||||
private val binding by viewBinding(FragmentBookshelf2Binding::bind)
|
private val binding by viewBinding(FragmentBookshelf2Binding::bind)
|
||||||
private val bookshelfLayout by lazy {
|
private val bookshelfLayout by lazy { AppConfig.bookshelfLayout }
|
||||||
getPrefInt(PreferKey.bookshelfLayout)
|
|
||||||
}
|
|
||||||
private val booksAdapter: BaseBooksAdapter<*> by lazy {
|
private val booksAdapter: BaseBooksAdapter<*> by lazy {
|
||||||
if (bookshelfLayout == 0) {
|
if (bookshelfLayout == 0) {
|
||||||
BooksAdapterList(requireContext(), this)
|
BooksAdapterList(requireContext(), this)
|
||||||
@@ -123,8 +120,10 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2)
|
|||||||
@SuppressLint("NotifyDataSetChanged")
|
@SuppressLint("NotifyDataSetChanged")
|
||||||
private fun initBooksData() {
|
private fun initBooksData() {
|
||||||
if (groupId == -100L) {
|
if (groupId == -100L) {
|
||||||
binding.titleBar.title = getString(R.string.bookshelf)
|
if (isAdded) {
|
||||||
binding.refreshLayout.isEnabled = true
|
binding.titleBar.title = getString(R.string.bookshelf)
|
||||||
|
binding.refreshLayout.isEnabled = true
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
bookGroups.firstOrNull {
|
bookGroups.firstOrNull {
|
||||||
groupId == it.groupId
|
groupId == it.groupId
|
||||||
@@ -156,10 +155,12 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2)
|
|||||||
}.flowOn(Dispatchers.Default).catch {
|
}.flowOn(Dispatchers.Default).catch {
|
||||||
AppLog.put("书架更新出错", it)
|
AppLog.put("书架更新出错", it)
|
||||||
}.conflate().collect { list ->
|
}.conflate().collect { list ->
|
||||||
books = list
|
if (isAdded) {
|
||||||
booksAdapter.notifyDataSetChanged()
|
books = list
|
||||||
binding.tvEmptyMsg.isGone = getItemCount() > 0
|
booksAdapter.notifyDataSetChanged()
|
||||||
delay(100)
|
binding.tvEmptyMsg.isGone = getItemCount() > 0
|
||||||
|
delay(100)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user