Merge remote-tracking branch 'origin/HEAD'

This commit is contained in:
Vitor Pamplona 2023-03-09 18:56:18 -05:00
commit 9cf7cc4e5d
2 changed files with 9 additions and 7 deletions

View File

@ -2,18 +2,20 @@ package com.vitorpamplona.amethyst
import android.content.Context
import androidx.security.crypto.EncryptedSharedPreferences
import androidx.security.crypto.MasterKeys
import androidx.security.crypto.MasterKey
class EncryptedStorage {
object EncryptedStorage {
private const val PREFERENCES_NAME = "secret_keeper"
fun preferences(context: Context): EncryptedSharedPreferences {
val secretKey: String = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC)
val preferencesName = "secret_keeper"
val masterKey: MasterKey = MasterKey.Builder(context, MasterKey.DEFAULT_MASTER_KEY_ALIAS)
.setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
.build()
return EncryptedSharedPreferences.create(
preferencesName,
secretKey,
context,
PREFERENCES_NAME,
masterKey,
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
) as EncryptedSharedPreferences

View File

@ -29,7 +29,7 @@ class LocalPreferences(context: Context) {
val LAST_READ: (String) -> String = { route -> "last_read_route_$route" }
}
private val encryptedPreferences = EncryptedStorage().preferences(context)
private val encryptedPreferences = EncryptedStorage.preferences(context)
private val gson = GsonBuilder().create()
fun clearEncryptedStorage() {