kunfei 3 jaren geleden
bovenliggende
commit
cac408bf2a

+ 2 - 4
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.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.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.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) }
             //初始化封面
             //初始化封面

+ 29 - 0
app/src/main/java/io/legado/app/help/DefaultData.kt

@@ -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())
+    }
+
 }
 }

+ 3 - 0
app/src/main/java/io/legado/app/help/config/LocalConfig.kt

@@ -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) {

+ 0 - 1
app/src/main/java/io/legado/app/ui/main/MainActivity.kt

@@ -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)

+ 0 - 15
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.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()
-            }
-
-        }
-    }
 }
 }