Updated on 2026-08-14
This commit is contained in:
parent
2ce77a6ac3
commit
cc07b0ba26
12 changed files with 129 additions and 95 deletions
|
|
@ -72,6 +72,12 @@ class AppPreferencesStore(
|
|||
return this[key]?.let(adapter::fromJson).orEmpty()
|
||||
}
|
||||
|
||||
/** Get set of data [T] by string [key] */
|
||||
inline fun <reified T> MutablePreferences.getObjectSet(key: Preferences.Key<String>): Set<T>? {
|
||||
val adapter = moshi.adapter<Set<T>>(Types.newParameterizedType(Set::class.java, T::class.java))
|
||||
return this[key]?.let(adapter::fromJson)
|
||||
}
|
||||
|
||||
/**
|
||||
* Set data [T] by string [key] to [MutablePreferences]
|
||||
*
|
||||
|
|
@ -97,4 +103,10 @@ class AppPreferencesStore(
|
|||
|
||||
this[key] = adapter.toJson(value)
|
||||
}
|
||||
|
||||
/** Sets set of data [T] by string [key] to [MutablePreferences] */
|
||||
inline fun <reified T> MutablePreferences.setObjectSet(key: Preferences.Key<String>, value: Set<T>) {
|
||||
val adapter = moshi.adapter<Set<T>>(Types.newParameterizedType(Set::class.java, T::class.java))
|
||||
this[key] = adapter.toJson(value)
|
||||
}
|
||||
}
|
||||
|
|
@ -63,13 +63,13 @@ object PreferencesKeys {
|
|||
|
||||
val APP_LOGS_KEY by lazy { stringPreferencesKey(name = "app_logs") }
|
||||
|
||||
val POLKADOT_HEALTH_CHECK_LAST_INDEXED_TX by lazy {
|
||||
val POLKADOT_HEALTH_CHECK_LAST_INDEXED_TX_KEY by lazy {
|
||||
stringPreferencesKey(name = "POLKADOT_HEALTH_CHECK_LAST_INDEXED_TX")
|
||||
}
|
||||
val POLKADOT_HEALTH_CHECKED_RESET_ACCOUNTS by lazy {
|
||||
val POLKADOT_HEALTH_CHECKED_RESET_ACCOUNTS_KEY by lazy {
|
||||
stringPreferencesKey(name = "POLKADOT_HEALTH_CHECKED_RESET_ACCOUNTS")
|
||||
}
|
||||
val POLKADOT_HEALTH_CHECKED_IMMUTABLE_ACCOUNTS by lazy {
|
||||
val POLKADOT_HEALTH_CHECKED_IMMUTABLE_ACCOUNTS_KEY by lazy {
|
||||
stringPreferencesKey(name = "POLKADOT_HEALTH_CHECKED_IMMUTABLE_ACCOUNTS")
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -128,6 +128,15 @@ suspend inline fun <reified V> AppPreferencesStore.getObjectMap(key: Preferences
|
|||
val type = Types.newParameterizedType(Map::class.java, String::class.java, V::class.java)
|
||||
val adapter = moshi.adapter<Map<String, V>>(type)
|
||||
|
||||
return data.firstOrNull()
|
||||
?.get(key)
|
||||
?.let(adapter::fromJson)
|
||||
.orEmpty()
|
||||
}
|
||||
|
||||
/** Get set of data [T] by string [key], or empty if data is not found */
|
||||
suspend inline fun <reified T> AppPreferencesStore.getObjectSetSync(key: Preferences.Key<String>): Set<T> {
|
||||
val adapter = moshi.adapter<Set<T>>(Types.newParameterizedType(Set::class.java, T::class.java))
|
||||
return data.firstOrNull()
|
||||
?.get(key)
|
||||
?.let(adapter::fromJson)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue