2024-07-30 16:57:25 +08:00
|
|
|
package com.aiosman.riderpro
|
|
|
|
|
|
|
|
|
|
import android.content.Context
|
|
|
|
|
import android.content.SharedPreferences
|
2024-08-03 15:58:19 +08:00
|
|
|
import com.google.android.gms.auth.api.signin.GoogleSignInOptions
|
2024-07-30 16:57:25 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 持久化本地数据
|
|
|
|
|
*/
|
|
|
|
|
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
|
2024-08-03 15:58:19 +08:00
|
|
|
lateinit var googleSignInOptions: GoogleSignInOptions
|
2024-07-30 16:57:25 +08:00
|
|
|
fun init(context: Context) {
|
|
|
|
|
sharedPreferences = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE)
|
|
|
|
|
this.loadData()
|
2024-08-03 15:58:19 +08:00
|
|
|
|
|
|
|
|
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
|
2024-10-24 23:53:51 +08:00
|
|
|
// apply dark mode
|
|
|
|
|
if (sharedPreferences.getBoolean("darkMode", false)) {
|
|
|
|
|
AppState.darkMode = true
|
2024-10-26 19:05:52 +08:00
|
|
|
AppState.appTheme = DarkThemeColors()
|
2024-10-24 23:53:51 +08:00
|
|
|
}
|
2024-10-26 19:05:52 +08:00
|
|
|
|
2024-07-30 16:57:25 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
}
|
2024-10-24 23:53:51 +08:00
|
|
|
|
|
|
|
|
fun saveDarkMode(darkMode: Boolean) {
|
|
|
|
|
sharedPreferences.edit().apply {
|
|
|
|
|
putBoolean("darkMode", darkMode)
|
|
|
|
|
}.apply()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2024-07-30 16:57:25 +08:00
|
|
|
}
|