diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt index 29b160159..c1e87ca01 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt @@ -105,11 +105,13 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { } else { ReadBook.loadContent(resetPageOffset = true) } + checkLocalBookFileExist(book) } else { if (ReadBook.durChapterIndex > ReadBook.chapterSize - 1) { ReadBook.durChapterIndex = ReadBook.chapterSize - 1 } ReadBook.loadContent(resetPageOffset = false) + checkLocalBookFileExist(book) } if (ReadBook.chapterChanged) { // 有章节跳转不同步阅读进度 @@ -123,6 +125,18 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { } } + private fun checkLocalBookFileExist(book: Book) { + if (book.isLocal) { + execute { + LocalBook.getBookInputStream(book) + }.onError { + if (it is FileNotFoundException) { + permissionDenialLiveData.postValue(0) + } + } + } + } + /** * 加载详情页 */