diff --git a/app/src/main/java/io/legado/app/constant/BookType.kt b/app/src/main/java/io/legado/app/constant/BookType.kt index 23230fd84..92ee9ef37 100644 --- a/app/src/main/java/io/legado/app/constant/BookType.kt +++ b/app/src/main/java/io/legado/app/constant/BookType.kt @@ -53,6 +53,10 @@ object BookType { @IntDef(text, updateError, audio, image, webFile, local, archive, notShelf) annotation class Type + /** + * 所有可以从书源转换的书籍类型 + */ + const val allBookType = text or image or audio or webFile /** * 本地书籍书源标志 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 c90e11de3..cdacccb9f 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 @@ -206,6 +206,10 @@ fun Book.removeType(@BookType.Type vararg types: Int) { } } +fun Book.removeAllBookType() { + removeType(BookType.allBookType) +} + fun Book.clearType() { type = 0 } @@ -235,10 +239,6 @@ fun BookSource.getBookType(): Int { } } -fun BookSource.getAllBookType(): Int { - return BookType.text or BookType.image or BookType.audio or BookType.webFile -} - fun Book.sync(oldBook: Book) { val curBook = appDb.bookDao.getBook(oldBook.bookUrl)!! durChapterTime = curBook.durChapterTime diff --git a/app/src/main/java/io/legado/app/model/webBook/WebBook.kt b/app/src/main/java/io/legado/app/model/webBook/WebBook.kt index 3f42b797a..13946074e 100644 --- a/app/src/main/java/io/legado/app/model/webBook/WebBook.kt +++ b/app/src/main/java/io/legado/app/model/webBook/WebBook.kt @@ -7,9 +7,8 @@ import io.legado.app.data.entities.BookSource import io.legado.app.data.entities.SearchBook import io.legado.app.exception.NoStackTraceException import io.legado.app.help.book.addType -import io.legado.app.help.book.getAllBookType import io.legado.app.help.book.getBookType -import io.legado.app.help.book.removeType +import io.legado.app.help.book.removeAllBookType import io.legado.app.help.coroutine.Coroutine import io.legado.app.help.http.StrResponse import io.legado.app.model.Debug @@ -149,7 +148,7 @@ object WebBook { book: Book, canReName: Boolean = true, ): Book { - book.removeType(bookSource.getAllBookType()) + book.removeAllBookType() book.addType(bookSource.getBookType()) if (!book.infoHtml.isNullOrEmpty()) { BookInfo.analyzeBookInfo( @@ -227,7 +226,7 @@ object WebBook { book: Book, runPerJs: Boolean = false ): Result> { - book.removeType(bookSource.getAllBookType()) + book.removeAllBookType() book.addType(bookSource.getBookType()) return kotlin.runCatching { if (runPerJs) {