Просмотр исходного кода

恢复和优化FireBase开关功能。

HapeLee 1 год назад
Родитель
Сommit
f9ee992642

+ 1 - 1
app/src/main/java/io/legato/kazusa/App.kt

@@ -67,7 +67,7 @@ class App : Application() {
     override fun onCreate() {
         super.onCreate()
         DynamicColors.applyToActivitiesIfAvailable(this)
-        FirebaseManager.initFromPreferences(this)
+        FirebaseManager.init(this)
         CrashHandler(this)
         if (isDebuggable) {
             ThreadUtils.setThreadAssertsDisabledForTesting(true)

+ 1 - 1
app/src/main/java/io/legato/kazusa/constant/PreferKey.kt

@@ -169,7 +169,7 @@ object PreferKey {
     const val readAloudByMediaButton = "readAloudByMediaButton"
     const val showMangaUi = "showMangaUi"
     const val disableMangaScale = "disableMangaScale"
-    const val firebaseEnabled = "firebaseEnabled"
+    const val firebaseEnable = "firebaseEnable"
     const val cPrimary = "colorPrimary"
     const val cAccent = "colorAccent"
     const val cBackground = "colorBackground"

+ 3 - 3
app/src/main/java/io/legato/kazusa/help/config/AppConfig.kt

@@ -700,10 +700,10 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
         }
     }
 
-    var firebaseEnabled: Boolean
-        get() = appCtx.getPrefBoolean(PreferKey.firebaseEnabled, false)
+    var firebaseEnable: Boolean
+        get() = appCtx.getPrefBoolean(PreferKey.firebaseEnable, false)
         set(value) {
-            appCtx.putPrefBoolean(PreferKey.firebaseEnabled, value)
+            appCtx.putPrefBoolean(PreferKey.firebaseEnable, value)
         }
 
     //跳转到漫画界面不使用富文本模式

+ 1 - 1
app/src/main/java/io/legato/kazusa/ui/config/OtherConfigFragment.kt

@@ -230,7 +230,7 @@ class OtherConfigFragment : PreferenceFragment(),
                 upPreferenceSummary(key, AppConfig.sourceEditMaxLine.toString())
             }
 
-            PreferKey.firebaseEnabled -> {
+            PreferKey.firebaseEnable -> {
                 sharedPreferences?.let {
                     FirebaseManager.setEnabled(requireContext(), it.getBoolean(key, true))
                 }

+ 9 - 12
app/src/main/java/io/legato/kazusa/utils/FirebaseManager.kt

@@ -1,25 +1,23 @@
 package io.legato.kazusa.utils
 
 import android.content.Context
-import androidx.core.content.edit
-import androidx.preference.PreferenceManager
 import com.google.firebase.FirebaseApp
 import com.google.firebase.analytics.FirebaseAnalytics
+import io.legato.kazusa.help.config.AppConfig
 
 object FirebaseManager {
 
-    private const val PREF_KEY = "firebaseEnabled"
-    private var isEnabled = false
+    var isEnabled: Boolean
+        get() = AppConfig.firebaseEnable
+        private set(value) {
+            AppConfig.firebaseEnable = value
+        }
 
-    fun initFromPreferences(context: Context) {
-        val prefs = PreferenceManager.getDefaultSharedPreferences(context)
-        val enabled = prefs.getBoolean(PREF_KEY, true)
-        applyState(context, enabled)
+    fun init(context: Context) {
+        applyState(context, isEnabled)
     }
 
     fun setEnabled(context: Context, enabled: Boolean) {
-        val prefs = PreferenceManager.getDefaultSharedPreferences(context)
-        prefs.edit { putBoolean(PREF_KEY, enabled) }
         applyState(context, enabled)
     }
 
@@ -36,10 +34,9 @@ object FirebaseManager {
                     FirebaseApp.getInstance().delete()
                 }
             } catch (_: Exception) {
+                // 忽略异常
             }
         }
         isEnabled = enabled
     }
-
-    fun isFirebaseEnabled(): Boolean = isEnabled
 }