@@ -28,7 +28,7 @@ fun SharedPreferences.deleteEncryptedSharedPreference(context: Context, filename
2828 val deleted = sharedPrefsFile.delete()
2929 Log .d(tag, " resetStorage() Shared prefs file deleted: $deleted ; path: ${sharedPrefsFile.absolutePath} " )
3030 } else {
31- Log .d(tag," resetStorage() Shared prefs file non-existent; path: ${sharedPrefsFile.absolutePath} " )
31+ Log .d(tag, " resetStorage() Shared prefs file non-existent; path: ${sharedPrefsFile.absolutePath} " )
3232 }
3333
3434 val keyStore = KeyStore .getInstance(ANDROID_KEYSTORE_NAME )
@@ -41,7 +41,7 @@ fun SharedPreferences.deleteEncryptedSharedPreference(context: Context, filename
4141
4242fun createEncryptedSharedPrefKeyStoreWithRetry (context : Context , fileName : String , keystoreAlias : String ): SharedPreferences ? {
4343 val firstAttempt = createEncryptedSharedPrefsKeyStore(context = context, fileName = fileName, keystoreAlias = keystoreAlias)
44- return if (firstAttempt != null ) {
44+ return if (firstAttempt != null ) {
4545 firstAttempt
4646 } else {
4747 context.getSharedPreferences(fileName, Context .MODE_PRIVATE ).deleteEncryptedSharedPreference(
@@ -61,25 +61,26 @@ fun createEncryptedSharedPrefsKeyStore(context: Context, fileName: String, keyst
6161 .setEncryptionPaddings(ENCRYPTION_PADDING_NONE )
6262 .build()
6363
64- val keys = try {
65- MasterKeys .getOrCreate(keySpec)
66- } catch (ex: Exception ) {
67- // clear corrupted store, contents will be lost
68- context.getSharedPreferences(fileName, Context .MODE_PRIVATE ).deleteEncryptedSharedPreference(
69- context = context,
70- filename = fileName,
71- keystoreAlias = keystoreAlias )
72- MasterKeys .getOrCreate(keySpec)
73- }
7464 return try {
65+ val keys = try {
66+ MasterKeys .getOrCreate(keySpec)
67+ } catch (ex: Exception ) {
68+ // clear corrupted store, contents will be lost
69+ context.getSharedPreferences(fileName, Context .MODE_PRIVATE ).deleteEncryptedSharedPreference(
70+ context = context,
71+ filename = fileName,
72+ keystoreAlias = keystoreAlias)
73+ MasterKeys .getOrCreate(keySpec)
74+ }
75+
7576 EncryptedSharedPreferences .create(
7677 fileName,
7778 keys,
7879 context,
7980 EncryptedSharedPreferences .PrefKeyEncryptionScheme .AES256_SIV ,
8081 EncryptedSharedPreferences .PrefValueEncryptionScheme .AES256_GCM
8182 )
82- } catch (ex: Exception ) {
83+ } catch (ex: Exception ) {
8384 null
8485 }
8586}
0 commit comments