改包名com.aiosman.ravenow
This commit is contained in:
55
app/src/main/java/com/aiosman/ravenow/store.kt
Normal file
55
app/src/main/java/com/aiosman/ravenow/store.kt
Normal file
@@ -0,0 +1,55 @@
|
||||
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
|
||||
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)
|
||||
}.apply()
|
||||
}
|
||||
|
||||
fun loadData() {
|
||||
// shared preferences
|
||||
token = sharedPreferences.getString("token", null)
|
||||
rememberMe = sharedPreferences.getBoolean("rememberMe", false)
|
||||
}
|
||||
|
||||
fun saveDarkMode(darkMode: Boolean) {
|
||||
sharedPreferences.edit().apply {
|
||||
putBoolean("darkMode", darkMode)
|
||||
}.apply()
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user