From 9182ffe2f533081de2017db7b0abad9a5ba4bc32 Mon Sep 17 00:00:00 2001 From: kunfei Date: Wed, 19 Apr 2023 19:48:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/legado/app/help/config/LocalConfig.kt | 16 +++++++++++----- .../java/io/legado/app/ui/main/MainActivity.kt | 5 ++--- .../io/legado/app/utils/PreferencesExtensions.kt | 6 ++++++ 3 files changed, 19 insertions(+), 8 deletions(-) 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 078fa0041..b9819dbeb 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 @@ -7,19 +7,25 @@ import io.legado.app.utils.getBoolean import io.legado.app.utils.putBoolean import io.legado.app.utils.putLong import io.legado.app.utils.putString +import io.legado.app.utils.remove import splitties.init.appCtx -object LocalConfig : - SharedPreferences by appCtx.getSharedPreferences("local", Context.MODE_PRIVATE) { +object LocalConfig : SharedPreferences +by appCtx.getSharedPreferences("local", Context.MODE_PRIVATE) { + private const val versionCodeKey = "appVersionCode" /** * 本地密码,用来对需要备份的敏感信息加密,如 webdav 配置等 */ - var password: String - get() = getString("password", "") ?: "" + var password: String? + get() = getString("password", null) set(value) { - putString("password", value) + if (value != null) { + putString("password", value) + } else { + remove("password") + } } var lastBackup: Long 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 e67930fb8..eb490b9d0 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 @@ -19,7 +19,6 @@ import com.google.android.material.bottomnavigation.BottomNavigationView import io.legado.app.BuildConfig import io.legado.app.R import io.legado.app.base.VMBaseActivity -import io.legado.app.constant.AppConst import io.legado.app.constant.AppConst.appInfo import io.legado.app.constant.EventBus import io.legado.app.constant.PreferKey @@ -212,7 +211,7 @@ class MainActivity : VMBaseActivity(), * 设置本地密码 */ private suspend fun setLocalPassword() = suspendCoroutine { block -> - if (LocalConfig.password.isNotBlank()) { + if (LocalConfig.password != null) { block.resume(null) return@suspendCoroutine } @@ -230,7 +229,7 @@ class MainActivity : VMBaseActivity(), LocalConfig.password = editTextBinding.editView.text.toString() } cancelButton { - LocalConfig.password = AppConst.androidId + LocalConfig.password = "" } } } diff --git a/app/src/main/java/io/legado/app/utils/PreferencesExtensions.kt b/app/src/main/java/io/legado/app/utils/PreferencesExtensions.kt index 193f773c1..8c63100d9 100644 --- a/app/src/main/java/io/legado/app/utils/PreferencesExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/PreferencesExtensions.kt @@ -94,4 +94,10 @@ fun SharedPreferences.putFloat(key: String, value: Float) { edit { putFloat(key, value) } +} + +fun SharedPreferences.remove(key: String) { + edit { + remove(key) + } } \ No newline at end of file