This commit is contained in:
kunfei
2023-02-20 14:04:14 +08:00
parent 2e4c9a7f25
commit cac408bf2a
5 changed files with 34 additions and 20 deletions
+2 -4
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.AppConst.channelIdWeb
import io.legado.app.constant.PreferKey import io.legado.app.constant.PreferKey
import io.legado.app.data.appDb import io.legado.app.data.appDb
import io.legado.app.help.AppWebDav import io.legado.app.help.*
import io.legado.app.help.CrashHandler
import io.legado.app.help.LifecycleHelp
import io.legado.app.help.RuleBigDataHelp
import io.legado.app.help.book.BookHelp import io.legado.app.help.book.BookHelp
import io.legado.app.help.config.AppConfig import io.legado.app.help.config.AppConfig
import io.legado.app.help.config.ThemeConfig.applyDayNight import io.legado.app.help.config.ThemeConfig.applyDayNight
@@ -50,6 +47,7 @@ class App : Application() {
.autoClear(false) .autoClear(false)
registerActivityLifecycleCallbacks(LifecycleHelp) registerActivityLifecycleCallbacks(LifecycleHelp)
defaultSharedPreferences.registerOnSharedPreferenceChangeListener(AppConfig) defaultSharedPreferences.registerOnSharedPreferenceChangeListener(AppConfig)
DefaultData.upVersion()
Coroutine.async { Coroutine.async {
launch { installGmsTlsProvider(appCtx) } launch { installGmsTlsProvider(appCtx) }
//初始化封面 //初始化封面
@@ -1,18 +1,43 @@
package io.legado.app.help package io.legado.app.help
import io.legado.app.constant.AppConst
import io.legado.app.data.appDb import io.legado.app.data.appDb
import io.legado.app.data.entities.* 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.ReadBookConfig
import io.legado.app.help.config.ThemeConfig import io.legado.app.help.config.ThemeConfig
import io.legado.app.help.coroutine.Coroutine
import io.legado.app.model.BookCover import io.legado.app.model.BookCover
import io.legado.app.utils.GSON import io.legado.app.utils.GSON
import io.legado.app.utils.fromJsonArray import io.legado.app.utils.fromJsonArray
import io.legado.app.utils.fromJsonObject import io.legado.app.utils.fromJsonObject
import io.legado.app.utils.printOnDebug
import splitties.init.appCtx import splitties.init.appCtx
import java.io.File import java.io.File
object DefaultData { 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 httpTTS: List<HttpTTS> by lazy {
val json = val json =
String( String(
@@ -95,4 +120,8 @@ object DefaultData {
appDb.rssSourceDao.insert(*rssSources.toTypedArray()) appDb.rssSourceDao.insert(*rssSources.toTypedArray())
} }
fun importDefaultDictRules() {
appDb.dictRuleDao.upsert(*dictRules.toTypedArray())
}
} }
@@ -51,6 +51,9 @@ object LocalConfig :
val needUpRssSources: Boolean val needUpRssSources: Boolean
get() = !isLastVersion(4, "rssSourceVersion") get() = !isLastVersion(4, "rssSourceVersion")
val needUpDictRule: Boolean
get() = !isLastVersion(1, "needUpDictRule")
var versionCode var versionCode
get() = getLong(versionCodeKey, 0) get() = getLong(versionCodeKey, 0)
set(value) { set(value) {
@@ -174,7 +174,6 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
return@suspendCoroutine return@suspendCoroutine
} }
LocalConfig.versionCode = appInfo.versionCode LocalConfig.versionCode = appInfo.versionCode
viewModel.upVersion()
if (LocalConfig.isFirstOpenApp) { if (LocalConfig.isFirstOpenApp) {
val help = String(assets.open("help/appHelp.md").readBytes()) val help = String(assets.open("help/appHelp.md").readBytes())
val dialog = TextDialog(getString(R.string.help), help, TextDialog.Mode.MD) val dialog = TextDialog(getString(R.string.help), help, TextDialog.Mode.MD)
@@ -14,7 +14,6 @@ import io.legado.app.help.AppWebDav
import io.legado.app.help.DefaultData import io.legado.app.help.DefaultData
import io.legado.app.help.book.* import io.legado.app.help.book.*
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.model.CacheBook import io.legado.app.model.CacheBook
import io.legado.app.model.ReadBook import io.legado.app.model.ReadBook
import io.legado.app.model.webBook.WebBook 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()
}
}
}
} }