diff --git a/app/src/main/java/io/legado/app/data/entities/Book.kt b/app/src/main/java/io/legado/app/data/entities/Book.kt index e1815f3c4..7bdb74b66 100644 --- a/app/src/main/java/io/legado/app/data/entities/Book.kt +++ b/app/src/main/java/io/legado/app/data/entities/Book.kt @@ -284,14 +284,6 @@ data class Book( } } - fun getBookSource(): BookSource? { - return appDb.bookSourceDao.getBookSource(origin) - } - - fun isLocalModified(): Boolean { - return isLocal && LocalBook.getLastModified(this).getOrDefault(0L) > latestChapterTime - } - fun toSearchBook() = SearchBook( name = name, author = author, diff --git a/app/src/main/java/io/legado/app/help/book/BookExtensions.kt b/app/src/main/java/io/legado/app/help/book/BookExtensions.kt index d5c2b821e..c3e9746d3 100644 --- a/app/src/main/java/io/legado/app/help/book/BookExtensions.kt +++ b/app/src/main/java/io/legado/app/help/book/BookExtensions.kt @@ -5,17 +5,26 @@ package io.legado.app.help.book import android.net.Uri import com.script.SimpleBindings import com.script.rhino.RhinoScriptEngine -import io.legado.app.constant.* +import io.legado.app.constant.AppLog +import io.legado.app.constant.BookSourceType +import io.legado.app.constant.BookType import io.legado.app.data.appDb import io.legado.app.data.entities.BaseBook import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookSource import io.legado.app.exception.NoStackTraceException import io.legado.app.help.config.AppConfig -import io.legado.app.utils.* +import io.legado.app.model.localBook.LocalBook +import io.legado.app.utils.FileDoc +import io.legado.app.utils.exists +import io.legado.app.utils.find +import io.legado.app.utils.inputStream +import io.legado.app.utils.isUri +import io.legado.app.utils.toastOnUi import splitties.init.appCtx import java.io.File import java.util.concurrent.ConcurrentHashMap +import kotlin.collections.set val Book.isAudio: Boolean @@ -223,6 +232,14 @@ fun Book.sync(oldBook: Book) { canUpdate = curBook.canUpdate } +fun Book.getBookSource(): BookSource? { + return appDb.bookSourceDao.getBookSource(origin) +} + +fun Book.isLocalModified(): Boolean { + return isLocal && LocalBook.getLastModified(this).getOrDefault(0L) > latestChapterTime +} + fun Book.isSameNameAuthor(other: Any?): Boolean { if (other is BaseBook) { return name == other.name && author == other.author diff --git a/app/src/main/java/io/legado/app/model/AudioPlay.kt b/app/src/main/java/io/legado/app/model/AudioPlay.kt index 0299cf552..b61007f2a 100644 --- a/app/src/main/java/io/legado/app/model/AudioPlay.kt +++ b/app/src/main/java/io/legado/app/model/AudioPlay.kt @@ -11,6 +11,7 @@ import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookChapter import io.legado.app.data.entities.BookSource import io.legado.app.help.book.ContentProcessor +import io.legado.app.help.book.getBookSource import io.legado.app.help.coroutine.Coroutine import io.legado.app.service.AudioPlayService import io.legado.app.utils.postEvent diff --git a/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayViewModel.kt b/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayViewModel.kt index ea5eac2b1..b2b6d60a9 100644 --- a/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayViewModel.kt @@ -11,6 +11,7 @@ import io.legado.app.data.appDb import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookChapter import io.legado.app.data.entities.BookSource +import io.legado.app.help.book.getBookSource import io.legado.app.help.book.removeType import io.legado.app.model.AudioPlay import io.legado.app.model.AudioPlay.durChapter 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 4426655e6..95f11e47c 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 @@ -20,6 +20,7 @@ import io.legado.app.help.AppWebDav import io.legado.app.help.book.BookHelp import io.legado.app.help.book.ContentProcessor import io.legado.app.help.book.isLocal +import io.legado.app.help.book.isLocalModified import io.legado.app.help.book.removeType import io.legado.app.help.config.AppConfig import io.legado.app.help.coroutine.Coroutine diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/provider/TextChapterLayout.kt b/app/src/main/java/io/legado/app/ui/book/read/page/provider/TextChapterLayout.kt index cf0e81e01..2d268c7e1 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/provider/TextChapterLayout.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/provider/TextChapterLayout.kt @@ -10,6 +10,7 @@ import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookChapter import io.legado.app.help.book.BookContent import io.legado.app.help.book.BookHelp +import io.legado.app.help.book.getBookSource import io.legado.app.help.config.AppConfig import io.legado.app.help.config.ReadBookConfig import io.legado.app.help.coroutine.Coroutine