优化
This commit is contained in:
@@ -6,6 +6,7 @@ import androidx.annotation.IntDef
|
|||||||
* 以二进制位来区分,可能一本书籍包含多个类型,每一位代表一个类型,数值为2的n次方
|
* 以二进制位来区分,可能一本书籍包含多个类型,每一位代表一个类型,数值为2的n次方
|
||||||
* 以二进制位来区分,数据库查询更高效, 数值>=8和老版本类型区分开
|
* 以二进制位来区分,数据库查询更高效, 数值>=8和老版本类型区分开
|
||||||
*/
|
*/
|
||||||
|
@Suppress("ConstPropertyName")
|
||||||
object BookType {
|
object BookType {
|
||||||
/**
|
/**
|
||||||
* 8 文本
|
* 8 文本
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import androidx.activity.viewModels
|
|||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.base.VMBaseActivity
|
import io.legado.app.base.VMBaseActivity
|
||||||
|
import io.legado.app.constant.BookType
|
||||||
import io.legado.app.constant.Theme
|
import io.legado.app.constant.Theme
|
||||||
import io.legado.app.data.appDb
|
import io.legado.app.data.appDb
|
||||||
import io.legado.app.data.entities.Book
|
import io.legado.app.data.entities.Book
|
||||||
@@ -26,6 +27,7 @@ import io.legado.app.help.book.isAudio
|
|||||||
import io.legado.app.help.book.isLocal
|
import io.legado.app.help.book.isLocal
|
||||||
import io.legado.app.help.book.isLocalTxt
|
import io.legado.app.help.book.isLocalTxt
|
||||||
import io.legado.app.help.book.isWebFile
|
import io.legado.app.help.book.isWebFile
|
||||||
|
import io.legado.app.help.book.removeType
|
||||||
import io.legado.app.help.config.AppConfig
|
import io.legado.app.help.config.AppConfig
|
||||||
import io.legado.app.help.config.LocalConfig
|
import io.legado.app.help.config.LocalConfig
|
||||||
import io.legado.app.lib.dialogs.alert
|
import io.legado.app.lib.dialogs.alert
|
||||||
@@ -224,6 +226,9 @@ class BookInfoActivity :
|
|||||||
viewModel.getBook()?.let {
|
viewModel.getBook()?.let {
|
||||||
it.canUpdate = !it.canUpdate
|
it.canUpdate = !it.canUpdate
|
||||||
if (viewModel.inBookshelf) {
|
if (viewModel.inBookshelf) {
|
||||||
|
if (!it.canUpdate) {
|
||||||
|
it.removeType(BookType.updateError)
|
||||||
|
}
|
||||||
viewModel.saveBook(it)
|
viewModel.saveBook(it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,11 @@ class BookshelfManageViewModel(application: Application) : BaseViewModel(applica
|
|||||||
fun upCanUpdate(books: List<Book>, canUpdate: Boolean) {
|
fun upCanUpdate(books: List<Book>, canUpdate: Boolean) {
|
||||||
execute {
|
execute {
|
||||||
val array = Array(books.size) {
|
val array = Array(books.size) {
|
||||||
books[it].copy(canUpdate = canUpdate)
|
books[it].copy(canUpdate = canUpdate).apply {
|
||||||
|
if (!canUpdate) {
|
||||||
|
removeType(BookType.updateError)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
appDb.bookDao.update(*array)
|
appDb.bookDao.update(*array)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user