kunfei 4 lat temu
rodzic
commit
5bfd5138ff

+ 10 - 13
app/src/main/java/io/legado/app/help/config/LocalConfig.kt

@@ -1,15 +1,14 @@
 package io.legado.app.help.config
 package io.legado.app.help.config
 
 
 import android.content.Context
 import android.content.Context
+import android.content.SharedPreferences
 import androidx.core.content.edit
 import androidx.core.content.edit
 import splitties.init.appCtx
 import splitties.init.appCtx
 
 
-object LocalConfig {
+object LocalConfig :
+    SharedPreferences by appCtx.getSharedPreferences("local", Context.MODE_PRIVATE) {
     private const val versionCodeKey = "appVersionCode"
     private const val versionCodeKey = "appVersionCode"
 
 
-    private val localConfig =
-        appCtx.getSharedPreferences("local", Context.MODE_PRIVATE)
-
     val readHelpVersionIsLast: Boolean
     val readHelpVersionIsLast: Boolean
         get() = isLastVersion(1, "readHelpVersion", "firstRead")
         get() = isLastVersion(1, "readHelpVersion", "firstRead")
 
 
@@ -35,18 +34,16 @@ object LocalConfig {
         get() = !isLastVersion(4, "rssSourceVersion")
         get() = !isLastVersion(4, "rssSourceVersion")
 
 
     var versionCode
     var versionCode
-        get() = localConfig.getLong(versionCodeKey, 0)
+        get() = getLong(versionCodeKey, 0)
         set(value) {
         set(value) {
-            localConfig.edit {
-                putLong(versionCodeKey, value)
-            }
+            edit { putLong(versionCodeKey, value) }
         }
         }
 
 
     val isFirstOpenApp: Boolean
     val isFirstOpenApp: Boolean
         get() {
         get() {
-            val value = localConfig.getBoolean("firstOpen", true)
+            val value = getBoolean("firstOpen", true)
             if (value) {
             if (value) {
-                localConfig.edit { putBoolean("firstOpen", false) }
+                edit { putBoolean("firstOpen", false) }
             }
             }
             return value
             return value
         }
         }
@@ -57,14 +54,14 @@ object LocalConfig {
         versionKey: String,
         versionKey: String,
         firstOpenKey: String? = null
         firstOpenKey: String? = null
     ): Boolean {
     ): Boolean {
-        var version = localConfig.getInt(versionKey, 0)
+        var version = getInt(versionKey, 0)
         if (version == 0 && firstOpenKey != null) {
         if (version == 0 && firstOpenKey != null) {
-            if (!localConfig.getBoolean(firstOpenKey, true)) {
+            if (!getBoolean(firstOpenKey, true)) {
                 version = 1
                 version = 1
             }
             }
         }
         }
         if (version < lastVersion) {
         if (version < lastVersion) {
-            localConfig.edit { putInt(versionKey, lastVersion) }
+            edit { putInt(versionKey, lastVersion) }
             return false
             return false
         }
         }
         return true
         return true

+ 3 - 2
app/src/main/java/io/legado/app/help/storage/Backup.kt

@@ -6,6 +6,7 @@ import androidx.documentfile.provider.DocumentFile
 import io.legado.app.constant.AppLog
 import io.legado.app.constant.AppLog
 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.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.help.coroutine.Coroutine
@@ -47,13 +48,13 @@ object Backup {
     }
     }
 
 
     fun autoBack(context: Context) {
     fun autoBack(context: Context) {
-        val lastBackup = context.getPrefLong(PreferKey.lastBackup)
+        val lastBackup = LocalConfig.getLong(PreferKey.lastBackup, 0)
         if (lastBackup + TimeUnit.DAYS.toMillis(1) < System.currentTimeMillis()) {
         if (lastBackup + TimeUnit.DAYS.toMillis(1) < System.currentTimeMillis()) {
             Coroutine.async {
             Coroutine.async {
                 if (!AppWebDav.hasBackUp()) {
                 if (!AppWebDav.hasBackUp()) {
                     backup(context, context.getPrefString(PreferKey.backupPath), true)
                     backup(context, context.getPrefString(PreferKey.backupPath), true)
                 } else {
                 } else {
-                    context.putPrefLong(PreferKey.lastBackup, System.currentTimeMillis())
+                    LocalConfig.putLong(PreferKey.lastBackup, System.currentTimeMillis())
                 }
                 }
             }.onError {
             }.onError {
                 AppLog.put("自动备份失败\n${it.localizedMessage}")
                 AppLog.put("自动备份失败\n${it.localizedMessage}")

+ 11 - 0
app/src/main/java/io/legado/app/utils/PreferencesExtensions.kt

@@ -0,0 +1,11 @@
+package io.legado.app.utils
+
+import android.content.SharedPreferences
+import androidx.core.content.edit
+
+
+fun SharedPreferences.putLong(key: String, value: Long) {
+    edit {
+        putLong(key, value)
+    }
+}