mirror of
https://github.com/hmalik144/LiveTemplatesDictionary.git
synced 2025-12-10 03:05:28 +00:00
Create SecurePrefsModule.kt
This commit is contained in:
65
SecurePrefsModule.kt
Normal file
65
SecurePrefsModule.kt
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
|
||||||
|
/**
|
||||||
|
* Requires dependency:
|
||||||
|
* //security for secured preferences
|
||||||
|
* implementation "androidx.security:security-crypto:1.0.0-rc02"
|
||||||
|
*/
|
||||||
|
|
||||||
|
const val STRING_CONSTANT = "STRING_CONSTANT"
|
||||||
|
const val INT_CONSTANT = "INT_CONSTANT"
|
||||||
|
const val BOOLEAN_CONSTANT = "BOOLEAN_CONSTANT"
|
||||||
|
class SecPrefs (
|
||||||
|
context: android.content.Context
|
||||||
|
){
|
||||||
|
|
||||||
|
private val masterKeyAlias = androidx.security.crypto.MasterKeys.getOrCreate(androidx.security.crypto.MasterKeys.AES256_GCM_SPEC)
|
||||||
|
private val prefs = androidx.security.crypto.EncryptedSharedPreferences.create(
|
||||||
|
"encrypted_shared_prefs",
|
||||||
|
masterKeyAlias,
|
||||||
|
context,
|
||||||
|
androidx.security.crypto.EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
|
||||||
|
androidx.security.crypto.EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
|
||||||
|
)
|
||||||
|
|
||||||
|
@Synchronized
|
||||||
|
fun saveStringInPrefs(
|
||||||
|
input: String
|
||||||
|
) {
|
||||||
|
prefs.edit()
|
||||||
|
.putString(STRING_CONSTANT, input)
|
||||||
|
.apply()
|
||||||
|
}
|
||||||
|
|
||||||
|
@Synchronized
|
||||||
|
fun loadStringFromPrefs(): String? {
|
||||||
|
return prefs.getString(STRING_CONSTANT, null)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Synchronized
|
||||||
|
fun saveIntInPrefs(
|
||||||
|
input: Int
|
||||||
|
) {
|
||||||
|
prefs.edit()
|
||||||
|
.putInt(INT_CONSTANT, input)
|
||||||
|
.apply()
|
||||||
|
}
|
||||||
|
|
||||||
|
@Synchronized
|
||||||
|
fun loadIntFromPrefs(): Int? {
|
||||||
|
return prefs.getInt(INT_CONSTANT, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Synchronized
|
||||||
|
fun saveBooleanInPrefs(
|
||||||
|
input: Boolean
|
||||||
|
) {
|
||||||
|
prefs.edit()
|
||||||
|
.putBoolean(BOOLEAN_CONSTANT, input)
|
||||||
|
.apply()
|
||||||
|
}
|
||||||
|
|
||||||
|
@Synchronized
|
||||||
|
fun loadBooleanFromPrefs(): Boolean? {
|
||||||
|
return prefs.getBoolean(BOOLEAN_CONSTANT, false)
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user