fix: defaultToRead 始终跳转同一本书
lastReadBook 查询有过滤 type & BookType.text > 0, 漫画等非文本类型书籍不会被返回,导致始终跳转到很久以前读过的文本类书。 新增 mostRecentlyReadBook 查询(不限类型),initData / initReadBookConfig 改用它获取最近阅读的书籍。
This commit is contained in:
@@ -648,6 +648,9 @@ interface BookDao {
|
||||
@get:Query("SELECT * FROM books where type & ${BookType.text} > 0 ORDER BY durChapterTime DESC limit 1")
|
||||
val lastReadBook: Book?
|
||||
|
||||
@get:Query("SELECT * FROM books ORDER BY durChapterTime DESC limit 1")
|
||||
val mostRecentlyReadBook: Book?
|
||||
|
||||
@get:Query("SELECT bookUrl FROM books")
|
||||
val allBookUrls: List<String>
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ class ReadMangaViewModel(
|
||||
ReadManga.chapterChanged = intent.getBooleanExtra("chapterChanged", false)
|
||||
val bookUrl = intent.getStringExtra("bookUrl")
|
||||
val book = when {
|
||||
bookUrl.isNullOrEmpty() -> appDb.bookDao.lastReadBook
|
||||
bookUrl.isNullOrEmpty() -> appDb.bookDao.mostRecentlyReadBook
|
||||
else -> appDb.bookDao.getBook(bookUrl)
|
||||
} ?: ReadManga.book
|
||||
when {
|
||||
|
||||
@@ -1668,7 +1668,7 @@ class ReadBookViewModel(
|
||||
fun initReadBookConfig(intent: Intent) {
|
||||
val bookUrl = intent.getStringExtra("bookUrl")
|
||||
val book = when {
|
||||
bookUrl.isNullOrEmpty() -> appDb.bookDao.lastReadBook
|
||||
bookUrl.isNullOrEmpty() -> appDb.bookDao.mostRecentlyReadBook
|
||||
else -> appDb.bookDao.getBook(bookUrl)
|
||||
} ?: return
|
||||
ReadBook.upReadBookConfig(book)
|
||||
@@ -1680,7 +1680,7 @@ class ReadBookViewModel(
|
||||
ReadBook.chapterChanged = intent.getBooleanExtra("chapterChanged", false)
|
||||
val bookUrl = intent.getStringExtra("bookUrl")
|
||||
val book = when {
|
||||
bookUrl.isNullOrEmpty() -> appDb.bookDao.lastReadBook
|
||||
bookUrl.isNullOrEmpty() -> appDb.bookDao.mostRecentlyReadBook
|
||||
else -> appDb.bookDao.getBook(bookUrl)
|
||||
} ?: ReadBook.book
|
||||
when {
|
||||
|
||||
Reference in New Issue
Block a user