package com.aiosman.ravenow import android.content.Context import android.content.SharedPreferences import com.google.android.gms.auth.api.signin.GoogleSignInOptions /** * 持久化本地数据 */ object AppStore { private const val STORE_VERSION = 1 private const val PREFS_NAME = "app_prefs_$STORE_VERSION" var token: String? = null var rememberMe: Boolean = false var isGuest: Boolean = false private lateinit var sharedPreferences: SharedPreferences lateinit var googleSignInOptions: GoogleSignInOptions fun init(context: Context) { sharedPreferences = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE) this.loadData() val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestIdToken("754277015802-uarf8br8k8gkpbj0t9g65bvkvit630q5.apps.googleusercontent.com") // Replace with your server's client ID .requestEmail() .build() googleSignInOptions = gso // apply dark mode if (sharedPreferences.getBoolean("darkMode", false)) { AppState.darkMode = true AppState.appTheme = DarkThemeColors() } } suspend fun saveData() { // shared preferences sharedPreferences.edit().apply { putString("token", token) putBoolean("rememberMe", rememberMe) putBoolean("isGuest", isGuest) }.apply() } fun loadData() { // shared preferences token = sharedPreferences.getString("token", null) rememberMe = sharedPreferences.getBoolean("rememberMe", false) isGuest = sharedPreferences.getBoolean("isGuest", false) } fun saveDarkMode(darkMode: Boolean) { sharedPreferences.edit().apply { putBoolean("darkMode", darkMode) }.apply() } }