Androidutility.v165 //top\\ May 2026
// Encrypted storage (requires Android Keystore) fun putEncrypted(key: String, value: String) { // Encryption logic using MasterKey (AndroidX Security Crypto) } }
fun init(context: Context, name: String = "app_prefs") { prefs = context.getSharedPreferences(name, Context.MODE_PRIVATE) } androidutility.v165
// Safe get with default for missing keys inline fun <reified T> get(key: String, default: T): T { return when (T::class) { String::class -> getString(key, default as String) as T Int::class -> prefs?.getInt(key, default as Int) as T Boolean::class -> prefs?.getBoolean(key, default as Boolean) as T Float::class -> prefs?.getFloat(key, default as Float) as T Long::class -> prefs?.getLong(key, default as Long) as T else -> default } } default } }