From 086bb932124bf52b6420091ccce21de5e21dd21a Mon Sep 17 00:00:00 2001
From: renhaoting <370797079@qq.com>
Date: Wed, 19 Nov 2025 19:23:04 +0800
Subject: [PATCH] Share preference util
---
app/src/main/AndroidManifest.xml | 2 +-
.../gamedog/vididin/{App.kt => VidiDinApp.kt} | 4 +-
.../vididin/main/fragments/TasksFragment.kt | 1 +
.../com/ama/core/architecture/util/SpUtil.kt | 182 +++++++++++++++++-
4 files changed, 186 insertions(+), 3 deletions(-)
rename app/src/main/java/com/gamedog/vididin/{App.kt => VidiDinApp.kt} (79%)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5a60d17..46bdbfd 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -5,7 +5,7 @@
putObject(key: String, obj: T) {
+ try {
+ val jsonString = gson.toJson(obj)
+ val encryptedData = Base64.encodeToString(jsonString.toByteArray(), Base64.DEFAULT)
+ putString(key, encryptedData)
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ }
+
+ inline fun getObject(key: String, defaultObj: T? = null): T? {
+ return try {
+ val encryptedData = getString(key)
+ if (encryptedData.isBlank()) return defaultObj
+
+ val jsonString = String(Base64.decode(encryptedData, Base64.DEFAULT))
+ gson.fromJson(jsonString, T::class.java) ?: defaultObj
+ } catch (e: Exception) {
+ e.printStackTrace()
+ defaultObj
+ }
+ }
+
+
+ fun putList(key: String, list: List) {
+ try {
+ val jsonString = gson.toJson(list)
+ val encryptedData = Base64.encodeToString(jsonString.toByteArray(), Base64.DEFAULT)
+ putString(key, encryptedData)
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ }
+
+ inline fun getList(key: String): List {
+ return try {
+ val encryptedData = getString(key)
+ if (encryptedData.isBlank()) return emptyList()
+
+ val jsonString = String(Base64.decode(encryptedData, Base64.DEFAULT))
+ val type: Type = object : TypeToken>() {}.type
+ gson.fromJson>(jsonString, type) ?: emptyList()
+ } catch (e: Exception) {
+ e.printStackTrace()
+ emptyList()
+ }
+ }
+
+
+ fun putMap(key: String, map: Map) {
+ try {
+ val jsonString = gson.toJson(map)
+ val encryptedData = Base64.encodeToString(jsonString.toByteArray(), Base64.DEFAULT)
+ putString(key, encryptedData)
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ }
+
+
+ inline fun getMap(key: String): Map {
+ return try {
+ val encryptedData = getString(key)
+ if (encryptedData.isBlank()) return emptyMap()
+
+ val jsonString = String(Base64.decode(encryptedData, Base64.DEFAULT))
+ val type: Type = object : TypeToken