优化
This commit is contained in:
@@ -10,10 +10,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.base.BaseFragment
|
import io.legado.app.base.BaseFragment
|
||||||
import io.legado.app.constant.AppConst
|
import io.legado.app.constant.*
|
||||||
import io.legado.app.constant.BookType
|
|
||||||
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.databinding.FragmentBooksBinding
|
import io.legado.app.databinding.FragmentBooksBinding
|
||||||
@@ -27,6 +24,7 @@ import io.legado.app.ui.main.MainViewModel
|
|||||||
import io.legado.app.utils.*
|
import io.legado.app.utils.*
|
||||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
|
import kotlinx.coroutines.flow.catch
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
|
|
||||||
@@ -109,6 +107,8 @@ class BooksFragment() : BaseFragment(R.layout.fragment_books),
|
|||||||
AppConst.bookGroupAudioId -> appDb.bookDao.flowAudio()
|
AppConst.bookGroupAudioId -> appDb.bookDao.flowAudio()
|
||||||
AppConst.bookGroupNoneId -> appDb.bookDao.flowNoGroup()
|
AppConst.bookGroupNoneId -> appDb.bookDao.flowNoGroup()
|
||||||
else -> appDb.bookDao.flowByGroup(groupId)
|
else -> appDb.bookDao.flowByGroup(groupId)
|
||||||
|
}.catch {
|
||||||
|
AppLog.put("书架更新出错", it)
|
||||||
}.collect { list ->
|
}.collect { list ->
|
||||||
binding.tvEmptyMsg.isGone = list.isNotEmpty()
|
binding.tvEmptyMsg.isGone = list.isNotEmpty()
|
||||||
val books = when (getPrefInt(PreferKey.bookshelfSort)) {
|
val books = when (getPrefInt(PreferKey.bookshelfSort)) {
|
||||||
|
|||||||
@@ -9,10 +9,7 @@ import androidx.recyclerview.widget.GridLayoutManager
|
|||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.constant.AppConst
|
import io.legado.app.constant.*
|
||||||
import io.legado.app.constant.BookType
|
|
||||||
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
|
||||||
@@ -29,6 +26,8 @@ import io.legado.app.ui.main.bookshelf.BaseBookshelfFragment
|
|||||||
import io.legado.app.utils.*
|
import io.legado.app.utils.*
|
||||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
|
import kotlinx.coroutines.flow.catch
|
||||||
|
import kotlinx.coroutines.flow.collectLatest
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
|
|
||||||
@@ -122,7 +121,9 @@ class BookshelfFragment2 : BaseBookshelfFragment(R.layout.fragment_bookshelf1),
|
|||||||
AppConst.bookGroupAudioId -> appDb.bookDao.flowAudio()
|
AppConst.bookGroupAudioId -> appDb.bookDao.flowAudio()
|
||||||
AppConst.bookGroupNoneId -> appDb.bookDao.flowNoGroup()
|
AppConst.bookGroupNoneId -> appDb.bookDao.flowNoGroup()
|
||||||
else -> appDb.bookDao.flowByGroup(groupId)
|
else -> appDb.bookDao.flowByGroup(groupId)
|
||||||
}.collect { list ->
|
}.catch {
|
||||||
|
AppLog.put("书架更新出错", it)
|
||||||
|
}.collectLatest { list ->
|
||||||
books = when (getPrefInt(PreferKey.bookshelfSort)) {
|
books = when (getPrefInt(PreferKey.bookshelfSort)) {
|
||||||
1 -> list.sortedByDescending {
|
1 -> list.sortedByDescending {
|
||||||
it.latestChapterTime
|
it.latestChapterTime
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import androidx.appcompat.widget.SearchView
|
|||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
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.AppLog
|
||||||
import io.legado.app.constant.AppPattern
|
import io.legado.app.constant.AppPattern
|
||||||
import io.legado.app.data.appDb
|
import io.legado.app.data.appDb
|
||||||
import io.legado.app.data.entities.RssSource
|
import io.legado.app.data.entities.RssSource
|
||||||
@@ -26,6 +27,7 @@ import io.legado.app.ui.rss.subscription.RuleSubActivity
|
|||||||
import io.legado.app.utils.*
|
import io.legado.app.utils.*
|
||||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
|
import kotlinx.coroutines.flow.catch
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
|
|
||||||
@@ -139,6 +141,8 @@ class RssFragment : VMBaseFragment<RssSourceViewModel>(R.layout.fragment_rss),
|
|||||||
appDb.rssSourceDao.flowEnabledByGroup("%$key%")
|
appDb.rssSourceDao.flowEnabledByGroup("%$key%")
|
||||||
}
|
}
|
||||||
else -> appDb.rssSourceDao.flowEnabled("%$searchKey%")
|
else -> appDb.rssSourceDao.flowEnabled("%$searchKey%")
|
||||||
|
}.catch {
|
||||||
|
AppLog.put("订阅界面更新数据出错", it)
|
||||||
}.collect {
|
}.collect {
|
||||||
adapter.setItems(it)
|
adapter.setItems(it)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user