pull/1551/head
gedoor 3 years ago
parent bec4afe309
commit e00907ba33
  1. 6
      app/src/main/java/io/legado/app/data/entities/BookSource.kt
  2. 7
      app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceViewModel.kt

@ -118,18 +118,20 @@ data class BookSource(
fun getContentRule() = ruleContent ?: ContentRule() fun getContentRule() = ruleContent ?: ContentRule()
fun addGroup(group: String) { fun addGroup(group: String): BookSource {
bookSourceGroup?.splitNotBlank(AppPattern.splitGroupRegex)?.toHashSet()?.let { bookSourceGroup?.splitNotBlank(AppPattern.splitGroupRegex)?.toHashSet()?.let {
it.add(group) it.add(group)
bookSourceGroup = TextUtils.join(",", it) bookSourceGroup = TextUtils.join(",", it)
} }
return this
} }
fun removeGroup(group: String) { fun removeGroup(group: String): BookSource {
bookSourceGroup?.splitNotBlank(AppPattern.splitGroupRegex)?.toHashSet()?.let { bookSourceGroup?.splitNotBlank(AppPattern.splitGroupRegex)?.toHashSet()?.let {
it.remove(group) it.remove(group)
bookSourceGroup = TextUtils.join(",", it) bookSourceGroup = TextUtils.join(",", it)
} }
return this
} }
fun equal(source: BookSource) = fun equal(source: BookSource) =

@ -3,7 +3,6 @@ package io.legado.app.ui.book.source.manage
import android.app.Application import android.app.Application
import android.text.TextUtils import android.text.TextUtils
import io.legado.app.base.BaseViewModel import io.legado.app.base.BaseViewModel
import io.legado.app.constant.AppPattern
import io.legado.app.data.appDb import io.legado.app.data.appDb
import io.legado.app.data.entities.BookSource import io.legado.app.data.entities.BookSource
import io.legado.app.utils.* import io.legado.app.utils.*
@ -94,8 +93,7 @@ class BookSourceViewModel(application: Application) : BaseViewModel(application)
execute { execute {
val list = arrayListOf<BookSource>() val list = arrayListOf<BookSource>()
sources.forEach { source -> sources.forEach { source ->
source.addGroup(groups) list.add(source.copy().addGroup(groups))
list.add(source)
} }
appDb.bookSourceDao.update(*list.toTypedArray()) appDb.bookSourceDao.update(*list.toTypedArray())
} }
@ -105,8 +103,7 @@ class BookSourceViewModel(application: Application) : BaseViewModel(application)
execute { execute {
val list = arrayListOf<BookSource>() val list = arrayListOf<BookSource>()
sources.forEach { source -> sources.forEach { source ->
source.removeGroup(groups) list.add(source.copy().removeGroup(groups))
list.add(source)
} }
appDb.bookSourceDao.update(*list.toTypedArray()) appDb.bookSourceDao.update(*list.toTypedArray())
} }

Loading…
Cancel
Save