pull/279/head
gedoor 5 years ago
parent 5fba0c1c8c
commit bdaafe06a5
  1. 24
      app/src/main/java/io/legado/app/help/storage/Restore.kt
  2. 1
      app/src/main/res/values-zh-rHK/strings.xml
  3. 1
      app/src/main/res/values-zh-rTW/strings.xml
  4. 1
      app/src/main/res/values-zh/strings.xml
  5. 1
      app/src/main/res/values/strings.xml

@ -9,6 +9,7 @@ import com.jayway.jsonpath.Option
import com.jayway.jsonpath.ParseContext
import io.legado.app.App
import io.legado.app.BuildConfig
import io.legado.app.R
import io.legado.app.constant.EventBus
import io.legado.app.constant.PreferKey
import io.legado.app.data.entities.*
@ -31,8 +32,11 @@ object Restore {
val json = file.readText()
GSON.fromJsonObject<HashMap<String, Boolean>>(json) ?: hashMapOf()
}
val ignoreKeys = arrayOf("readConfig")
val ignoreTitle = arrayOf("阅读界面设置")
val ignoreKeys = arrayOf("readConfig", "themeMode")
val ignoreTitle = arrayOf(
App.INSTANCE.getString(R.string.read_config),
App.INSTANCE.getString(R.string.theme_mode)
)
private val ignorePrefKeys = arrayOf(PreferKey.versionCode, PreferKey.defaultCover)
private val readPrefKeys = arrayOf(
PreferKey.readStyleSelect,
@ -130,9 +134,7 @@ object Restore {
?.let { map ->
val edit = App.INSTANCE.defaultSharedPreferences.edit()
map.forEach {
if (!ignorePrefKeys.contains(it.key)
&& !(readPrefKeys.contains(it.key) && ignoreReadConfig)
) {
if (keyIsNotIgnore(it.key)) {
when (val value = it.value) {
is Int -> edit.putInt(it.key, value)
is Boolean -> edit.putBoolean(it.key, value)
@ -166,7 +168,17 @@ object Restore {
}
}
val ignoreReadConfig: Boolean get() = ignoreConfig["readConfig"] == true
private fun keyIsNotIgnore(key: String): Boolean {
return when {
ignorePrefKeys.contains(key) -> false
readPrefKeys.contains(key) && ignoreReadConfig -> false
PreferKey.themeMode == key && ignoreThemeMode -> false
else -> true
}
}
private val ignoreReadConfig: Boolean get() = ignoreConfig["readConfig"] == true
private val ignoreThemeMode: Boolean get() = ignoreConfig["themeMode"] == true
fun saveIgnoreConfig() {
val json = GSON.toJson(ignoreConfig)

@ -723,4 +723,5 @@
<string name="default_cover">默认封面</string>
<string name="restore_ignore">恢复忽略列表</string>
<string name="restore_ignore_summary">恢复时忽略一些内容不恢复,方便不同手机配置不同</string>
<string name="read_config">阅读界面设置</string>
</resources>

@ -723,5 +723,6 @@
<string name="default_cover">默认封面</string>
<string name="restore_ignore">恢复忽略列表</string>
<string name="restore_ignore_summary">恢复时忽略一些内容不恢复,方便不同手机配置不同</string>
<string name="read_config">阅读界面设置</string>
</resources>

@ -723,4 +723,5 @@
<string name="default_cover">默认封面</string>
<string name="restore_ignore">恢复忽略列表</string>
<string name="restore_ignore_summary">恢复时忽略一些内容不恢复,方便不同手机配置不同</string>
<string name="read_config">阅读界面设置</string>
</resources>

@ -724,5 +724,6 @@
<string name="default_cover">Default cover</string>
<string name="restore_ignore">恢复忽略列表</string>
<string name="restore_ignore_summary">恢复时忽略一些内容不恢复,方便不同手机配置不同</string>
<string name="read_config">阅读界面设置</string>
</resources>
Loading…
Cancel
Save