feat: 优化代码

pull/122/head
kunfei 5 years ago
parent 7ce3e670bd
commit abb7a82859
  1. 2
      app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfFragment.kt
  2. 12
      app/src/main/java/io/legado/app/ui/main/bookshelf/books/BooksFragment.kt

@ -169,7 +169,7 @@ class BookshelfFragment : VMBaseFragment<BookshelfViewModel>(R.layout.fragment_b
changed = true changed = true
} }
if (bookshelfSort != rg_sort.getCheckedIndex()) { if (bookshelfSort != rg_sort.getCheckedIndex()) {
putPrefInt(PreferKey.bookshelfLayout, rg_sort.getCheckedIndex()) putPrefInt(PreferKey.bookshelfSort, rg_sort.getCheckedIndex())
changed = true changed = true
} }
if (changed) { if (changed) {

@ -103,10 +103,16 @@ class BooksFragment : BaseFragment(R.layout.fragment_books),
-3 -> App.db.bookDao().observeAudio() -3 -> App.db.bookDao().observeAudio()
else -> App.db.bookDao().observeByGroup(groupId) else -> App.db.bookDao().observeByGroup(groupId)
} }
bookshelfLiveData?.observe(this, Observer { bookshelfLiveData?.observe(this, Observer { list ->
val books = when (getPrefInt(PreferKey.bookshelfSort)) {
1 -> list.sortedByDescending { it.latestChapterTime }
2 -> list.sortedBy { it.name }
3 -> list.sortedBy { it.order }
else -> list.sortedByDescending { it.durChapterTime }
}
val diffResult = DiffUtil val diffResult = DiffUtil
.calculateDiff(BooksDiffCallBack(ArrayList(booksAdapter.getItems()), it)) .calculateDiff(BooksDiffCallBack(ArrayList(booksAdapter.getItems()), books))
booksAdapter.setItems(it, diffResult) booksAdapter.setItems(books, diffResult)
}) })
} }

Loading…
Cancel
Save