This commit is contained in:
kunfei 2023-02-20 14:04:14 +08:00
parent 1c589b2987
commit 0f8899f996
5 changed files with 34 additions and 20 deletions

View File

@ -16,10 +16,7 @@ import io.legado.app.constant.AppConst.channelIdReadAloud
import io.legado.app.constant.AppConst.channelIdWeb
import io.legado.app.constant.PreferKey
import io.legado.app.data.appDb
import io.legado.app.help.AppWebDav
import io.legado.app.help.CrashHandler
import io.legado.app.help.LifecycleHelp
import io.legado.app.help.RuleBigDataHelp
import io.legado.app.help.*
import io.legado.app.help.book.BookHelp
import io.legado.app.help.config.AppConfig
import io.legado.app.help.config.ThemeConfig.applyDayNight
@ -50,6 +47,7 @@ class App : Application() {
.autoClear(false)
registerActivityLifecycleCallbacks(LifecycleHelp)
defaultSharedPreferences.registerOnSharedPreferenceChangeListener(AppConfig)
DefaultData.upVersion()
Coroutine.async {
launch { installGmsTlsProvider(appCtx) }
//初始化封面

View File

@ -1,18 +1,43 @@
package io.legado.app.help
import io.legado.app.constant.AppConst
import io.legado.app.data.appDb
import io.legado.app.data.entities.*
import io.legado.app.help.config.LocalConfig
import io.legado.app.help.config.ReadBookConfig
import io.legado.app.help.config.ThemeConfig
import io.legado.app.help.coroutine.Coroutine
import io.legado.app.model.BookCover
import io.legado.app.utils.GSON
import io.legado.app.utils.fromJsonArray
import io.legado.app.utils.fromJsonObject
import io.legado.app.utils.printOnDebug
import splitties.init.appCtx
import java.io.File
object DefaultData {
fun upVersion() {
if (LocalConfig.versionCode < AppConst.appInfo.versionCode) {
Coroutine.async {
if (LocalConfig.needUpHttpTTS) {
importDefaultHttpTTS()
}
if (LocalConfig.needUpTxtTocRule) {
importDefaultTocRules()
}
if (LocalConfig.needUpRssSources) {
importDefaultRssSources()
}
if (LocalConfig.needUpDictRule) {
importDefaultDictRules()
}
}.onError {
it.printOnDebug()
}
}
}
val httpTTS: List<HttpTTS> by lazy {
val json =
String(
@ -95,4 +120,8 @@ object DefaultData {
appDb.rssSourceDao.insert(*rssSources.toTypedArray())
}
fun importDefaultDictRules() {
appDb.dictRuleDao.upsert(*dictRules.toTypedArray())
}
}

View File

@ -51,6 +51,9 @@ object LocalConfig :
val needUpRssSources: Boolean
get() = !isLastVersion(4, "rssSourceVersion")
val needUpDictRule: Boolean
get() = !isLastVersion(1, "needUpDictRule")
var versionCode
get() = getLong(versionCodeKey, 0)
set(value) {

View File

@ -174,7 +174,6 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
return@suspendCoroutine
}
LocalConfig.versionCode = appInfo.versionCode
viewModel.upVersion()
if (LocalConfig.isFirstOpenApp) {
val help = String(assets.open("help/appHelp.md").readBytes())
val dialog = TextDialog(getString(R.string.help), help, TextDialog.Mode.MD)

View File

@ -14,7 +14,6 @@ import io.legado.app.help.AppWebDav
import io.legado.app.help.DefaultData
import io.legado.app.help.book.*
import io.legado.app.help.config.AppConfig
import io.legado.app.help.config.LocalConfig
import io.legado.app.model.CacheBook
import io.legado.app.model.ReadBook
import io.legado.app.model.webBook.WebBook
@ -246,18 +245,4 @@ class MainViewModel(application: Application) : BaseViewModel(application) {
}
}
fun upVersion() {
execute {
if (LocalConfig.needUpHttpTTS) {
DefaultData.importDefaultHttpTTS()
}
if (LocalConfig.needUpTxtTocRule) {
DefaultData.importDefaultTocRules()
}
if (LocalConfig.needUpRssSources) {
DefaultData.importDefaultRssSources()
}
}
}
}