diff --git a/app/src/main/java/io/legado/app/App.kt b/app/src/main/java/io/legado/app/App.kt index b6df93c1e..0a7fcb539 100644 --- a/app/src/main/java/io/legado/app/App.kt +++ b/app/src/main/java/io/legado/app/App.kt @@ -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) } //初始化封面 diff --git a/app/src/main/java/io/legado/app/help/DefaultData.kt b/app/src/main/java/io/legado/app/help/DefaultData.kt index dd6f992e9..c63fe969e 100644 --- a/app/src/main/java/io/legado/app/help/DefaultData.kt +++ b/app/src/main/java/io/legado/app/help/DefaultData.kt @@ -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 by lazy { val json = String( @@ -95,4 +120,8 @@ object DefaultData { appDb.rssSourceDao.insert(*rssSources.toTypedArray()) } + fun importDefaultDictRules() { + appDb.dictRuleDao.upsert(*dictRules.toTypedArray()) + } + } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/help/config/LocalConfig.kt b/app/src/main/java/io/legado/app/help/config/LocalConfig.kt index a69954f33..83a6557da 100644 --- a/app/src/main/java/io/legado/app/help/config/LocalConfig.kt +++ b/app/src/main/java/io/legado/app/help/config/LocalConfig.kt @@ -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) { diff --git a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt index 554fd819e..1451bb419 100644 --- a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt +++ b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt @@ -174,7 +174,6 @@ class MainActivity : VMBaseActivity(), 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) diff --git a/app/src/main/java/io/legado/app/ui/main/MainViewModel.kt b/app/src/main/java/io/legado/app/ui/main/MainViewModel.kt index 1d48538ea..b3a1dc34a 100644 --- a/app/src/main/java/io/legado/app/ui/main/MainViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/main/MainViewModel.kt @@ -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() - } - - } - } } \ No newline at end of file