优化
This commit is contained in:
@@ -13,10 +13,12 @@ import io.legado.app.data.appDb
|
|||||||
import io.legado.app.data.entities.*
|
import io.legado.app.data.entities.*
|
||||||
import io.legado.app.help.DirectLinkUpload
|
import io.legado.app.help.DirectLinkUpload
|
||||||
import io.legado.app.help.LauncherIconHelp
|
import io.legado.app.help.LauncherIconHelp
|
||||||
|
import io.legado.app.help.book.isLocal
|
||||||
import io.legado.app.help.book.upType
|
import io.legado.app.help.book.upType
|
||||||
import io.legado.app.help.config.LocalConfig
|
import io.legado.app.help.config.LocalConfig
|
||||||
import io.legado.app.help.config.ReadBookConfig
|
import io.legado.app.help.config.ReadBookConfig
|
||||||
import io.legado.app.help.config.ThemeConfig
|
import io.legado.app.help.config.ThemeConfig
|
||||||
|
import io.legado.app.model.localBook.LocalBook
|
||||||
import io.legado.app.utils.*
|
import io.legado.app.utils.*
|
||||||
import kotlinx.coroutines.Dispatchers.IO
|
import kotlinx.coroutines.Dispatchers.IO
|
||||||
import kotlinx.coroutines.Dispatchers.Main
|
import kotlinx.coroutines.Dispatchers.Main
|
||||||
@@ -69,6 +71,10 @@ object Restore {
|
|||||||
it.forEach { book ->
|
it.forEach { book ->
|
||||||
book.upType()
|
book.upType()
|
||||||
}
|
}
|
||||||
|
it.filter { book -> book.isLocal }
|
||||||
|
.forEach { book ->
|
||||||
|
book.coverUrl = LocalBook.getCoverPath(book)
|
||||||
|
}
|
||||||
appDb.bookDao.insert(*it.toTypedArray())
|
appDb.bookDao.insert(*it.toTypedArray())
|
||||||
}
|
}
|
||||||
fileToListT<Bookmark>(path, "bookmark.json")?.let {
|
fileToListT<Bookmark>(path, "bookmark.json")?.let {
|
||||||
|
|||||||
@@ -85,11 +85,7 @@ class EpubFile(var book: Book) {
|
|||||||
try {
|
try {
|
||||||
epubBook?.let {
|
epubBook?.let {
|
||||||
if (book.coverUrl.isNullOrEmpty()) {
|
if (book.coverUrl.isNullOrEmpty()) {
|
||||||
book.coverUrl = FileUtils.getPath(
|
book.coverUrl = LocalBook.getCoverPath(book)
|
||||||
appCtx.externalFiles,
|
|
||||||
"covers",
|
|
||||||
"${MD5Utils.md5Encode16(book.bookUrl)}.jpg"
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
if (!File(book.coverUrl!!).exists()) {
|
if (!File(book.coverUrl!!).exists()) {
|
||||||
/*部分书籍DRM处理后,封面获取异常,待优化*/
|
/*部分书籍DRM处理后,封面获取异常,待优化*/
|
||||||
|
|||||||
@@ -123,6 +123,18 @@ object LocalBook {
|
|||||||
}.getOrElse { content }
|
}.getOrElse { content }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getCoverPath(book: Book): String {
|
||||||
|
return getCoverPath(book.bookUrl)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getCoverPath(bookUrl: String): String {
|
||||||
|
return FileUtils.getPath(
|
||||||
|
appCtx.externalFiles,
|
||||||
|
"covers",
|
||||||
|
"${MD5Utils.md5Encode16(bookUrl)}.jpg"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下载在线的文件并自动导入到阅读(txt umd epub)
|
* 下载在线的文件并自动导入到阅读(txt umd epub)
|
||||||
* 压缩文件请先提示用户解压
|
* 压缩文件请先提示用户解压
|
||||||
@@ -162,11 +174,7 @@ object LocalBook {
|
|||||||
name = nameAuthor.first,
|
name = nameAuthor.first,
|
||||||
author = nameAuthor.second,
|
author = nameAuthor.second,
|
||||||
originName = fileName,
|
originName = fileName,
|
||||||
coverUrl = FileUtils.getPath(
|
coverUrl = getCoverPath(bookUrl),
|
||||||
appCtx.externalFiles,
|
|
||||||
"covers",
|
|
||||||
"${MD5Utils.md5Encode16(bookUrl)}.jpg"
|
|
||||||
),
|
|
||||||
latestChapterTime = updateTime,
|
latestChapterTime = updateTime,
|
||||||
order = appDb.bookDao.minOrder - 1
|
order = appDb.bookDao.minOrder - 1
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -75,11 +75,7 @@ class PdfFile(var book: Book) {
|
|||||||
try {
|
try {
|
||||||
pdfRenderer?.let { renderer ->
|
pdfRenderer?.let { renderer ->
|
||||||
if (book.coverUrl.isNullOrEmpty()) {
|
if (book.coverUrl.isNullOrEmpty()) {
|
||||||
book.coverUrl = FileUtils.getPath(
|
book.coverUrl = LocalBook.getCoverPath(book)
|
||||||
appCtx.externalFiles,
|
|
||||||
"covers",
|
|
||||||
"${MD5Utils.md5Encode16(book.bookUrl)}.jpg"
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
if (!File(book.coverUrl!!).exists()) {
|
if (!File(book.coverUrl!!).exists()) {
|
||||||
|
|
||||||
|
|||||||
@@ -64,11 +64,7 @@ class UmdFile(var book: Book) {
|
|||||||
try {
|
try {
|
||||||
umdBook?.let {
|
umdBook?.let {
|
||||||
if (book.coverUrl.isNullOrEmpty()) {
|
if (book.coverUrl.isNullOrEmpty()) {
|
||||||
book.coverUrl = FileUtils.getPath(
|
book.coverUrl = LocalBook.getCoverPath(book)
|
||||||
appCtx.externalFiles,
|
|
||||||
"covers",
|
|
||||||
"${MD5Utils.md5Encode16(book.bookUrl)}.jpg"
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
if (!File(book.coverUrl!!).exists()) {
|
if (!File(book.coverUrl!!).exists()) {
|
||||||
FileUtils.writeBytes(book.coverUrl!!, it.cover.coverData)
|
FileUtils.writeBytes(book.coverUrl!!, it.cover.coverData)
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) {
|
|||||||
upCoverByRule(book)
|
upCoverByRule(book)
|
||||||
bookSource = if (book.isLocal) null else
|
bookSource = if (book.isLocal) null else
|
||||||
appDb.bookSourceDao.getBookSource(book.origin)
|
appDb.bookSourceDao.getBookSource(book.origin)
|
||||||
if (book.tocUrl.isEmpty()) {
|
if (book.tocUrl.isEmpty() && !book.isLocal) {
|
||||||
loadBookInfo(book)
|
loadBookInfo(book)
|
||||||
} else if (isImportBookOnLine) {
|
} else if (isImportBookOnLine) {
|
||||||
chapterListData.postValue(emptyList())
|
chapterListData.postValue(emptyList())
|
||||||
|
|||||||
Reference in New Issue
Block a user