INNER CODE UNIT · Kotlin
SharedPrefCache
NexAlloy/NexAlloy · app/src/main/java/io/github/nexalloy/PatchExecutor.kt:103
class SharedPrefCache(app: Application) : DexKitCacheBridge.Cache {
val pref = app.getSharedPreferences("xpmorphe", MODE_PRIVATE)!!
private val map = mutableMapOf<String, String>().apply {
putAll(pref.all as Map<String, String>)
}
override fun clearAll() {
map.clear()
}
override fun getString(key: String, default: String?): String? = map.getOrDefault(key, default)
override fun getAllKeys(): Collection<String> = map.keys
override fun getStringList(
key: String, default: List<String>?
): List<String>? =
map.getOrDefault(key, null)?.takeIf(String::isNotBlank)?.split('|') ?: default