|
|
@@ -2,16 +2,7 @@ package io.legado.app.ui.association
|
|
|
|
|
|
import android.app.Application
|
|
|
import androidx.lifecycle.MutableLiveData
|
|
|
-import io.legado.app.R
|
|
|
import io.legado.app.base.BaseViewModel
|
|
|
-import io.legado.app.data.appDb
|
|
|
-import io.legado.app.data.entities.TxtTocRule
|
|
|
-import io.legado.app.exception.NoStackTraceException
|
|
|
-import io.legado.app.help.config.ThemeConfig
|
|
|
-import io.legado.app.utils.GSON
|
|
|
-import io.legado.app.utils.fromJsonArray
|
|
|
-import io.legado.app.utils.fromJsonObject
|
|
|
-import io.legado.app.utils.isJsonArray
|
|
|
|
|
|
abstract class BaseAssociationViewModel(application: Application) : BaseViewModel(application) {
|
|
|
|
|
|
@@ -37,47 +28,4 @@ abstract class BaseAssociationViewModel(application: Application) : BaseViewMode
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- fun importTextTocRule(json: String, finally: (title: String, msg: String) -> Unit) {
|
|
|
- execute {
|
|
|
- if (json.isJsonArray()) {
|
|
|
- GSON.fromJsonArray<TxtTocRule>(json).getOrThrow()?.let {
|
|
|
- appDb.txtTocRuleDao.insert(*it.toTypedArray())
|
|
|
- } ?: throw NoStackTraceException("格式不对")
|
|
|
- } else {
|
|
|
- GSON.fromJsonObject<TxtTocRule>(json).getOrThrow()?.let {
|
|
|
- appDb.txtTocRuleDao.insert(it)
|
|
|
- } ?: throw NoStackTraceException("格式不对")
|
|
|
- }
|
|
|
- }.onSuccess {
|
|
|
- finally.invoke(context.getString(R.string.success), "导入Txt规则成功")
|
|
|
- }.onError {
|
|
|
- finally.invoke(
|
|
|
- context.getString(R.string.error),
|
|
|
- it.localizedMessage ?: context.getString(R.string.unknown_error)
|
|
|
- )
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- fun importTheme(json: String, finally: (title: String, msg: String) -> Unit) {
|
|
|
- execute {
|
|
|
- if (json.isJsonArray()) {
|
|
|
- GSON.fromJsonArray<ThemeConfig.Config>(json).getOrThrow()?.forEach {
|
|
|
- ThemeConfig.addConfig(it)
|
|
|
- }
|
|
|
- } else {
|
|
|
- GSON.fromJsonObject<ThemeConfig.Config>(json).getOrThrow()?.let {
|
|
|
- ThemeConfig.addConfig(it)
|
|
|
- }
|
|
|
- }
|
|
|
- }.onSuccess {
|
|
|
- finally.invoke(context.getString(R.string.success), "导入主题成功")
|
|
|
- }.onError {
|
|
|
- finally.invoke(
|
|
|
- context.getString(R.string.error),
|
|
|
- it.localizedMessage ?: context.getString(R.string.unknown_error)
|
|
|
- )
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
}
|