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")
|
@get:Query("SELECT * FROM books where type & ${BookType.text} > 0 ORDER BY durChapterTime DESC limit 1")
|
||||||
val lastReadBook: Book?
|
val lastReadBook: Book?
|
||||||
|
|
||||||
|
@get:Query("SELECT * FROM books ORDER BY durChapterTime DESC limit 1")
|
||||||
|
val mostRecentlyReadBook: Book?
|
||||||
|
|
||||||
@get:Query("SELECT bookUrl FROM books")
|
@get:Query("SELECT bookUrl FROM books")
|
||||||
val allBookUrls: List<String>
|
val allBookUrls: List<String>
|
||||||
|
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ class ReadMangaViewModel(
|
|||||||
ReadManga.chapterChanged = intent.getBooleanExtra("chapterChanged", false)
|
ReadManga.chapterChanged = intent.getBooleanExtra("chapterChanged", false)
|
||||||
val bookUrl = intent.getStringExtra("bookUrl")
|
val bookUrl = intent.getStringExtra("bookUrl")
|
||||||
val book = when {
|
val book = when {
|
||||||
bookUrl.isNullOrEmpty() -> appDb.bookDao.lastReadBook
|
bookUrl.isNullOrEmpty() -> appDb.bookDao.mostRecentlyReadBook
|
||||||
else -> appDb.bookDao.getBook(bookUrl)
|
else -> appDb.bookDao.getBook(bookUrl)
|
||||||
} ?: ReadManga.book
|
} ?: ReadManga.book
|
||||||
when {
|
when {
|
||||||
|
|||||||
@@ -1668,7 +1668,7 @@ class ReadBookViewModel(
|
|||||||
fun initReadBookConfig(intent: Intent) {
|
fun initReadBookConfig(intent: Intent) {
|
||||||
val bookUrl = intent.getStringExtra("bookUrl")
|
val bookUrl = intent.getStringExtra("bookUrl")
|
||||||
val book = when {
|
val book = when {
|
||||||
bookUrl.isNullOrEmpty() -> appDb.bookDao.lastReadBook
|
bookUrl.isNullOrEmpty() -> appDb.bookDao.mostRecentlyReadBook
|
||||||
else -> appDb.bookDao.getBook(bookUrl)
|
else -> appDb.bookDao.getBook(bookUrl)
|
||||||
} ?: return
|
} ?: return
|
||||||
ReadBook.upReadBookConfig(book)
|
ReadBook.upReadBookConfig(book)
|
||||||
@@ -1680,7 +1680,7 @@ class ReadBookViewModel(
|
|||||||
ReadBook.chapterChanged = intent.getBooleanExtra("chapterChanged", false)
|
ReadBook.chapterChanged = intent.getBooleanExtra("chapterChanged", false)
|
||||||
val bookUrl = intent.getStringExtra("bookUrl")
|
val bookUrl = intent.getStringExtra("bookUrl")
|
||||||
val book = when {
|
val book = when {
|
||||||
bookUrl.isNullOrEmpty() -> appDb.bookDao.lastReadBook
|
bookUrl.isNullOrEmpty() -> appDb.bookDao.mostRecentlyReadBook
|
||||||
else -> appDb.bookDao.getBook(bookUrl)
|
else -> appDb.bookDao.getBook(bookUrl)
|
||||||
} ?: ReadBook.book
|
} ?: ReadBook.book
|
||||||
when {
|
when {
|
||||||
|
|||||||
Reference in New Issue
Block a user