Feature/using encrypted shared preferences #12
+151
−138
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Continue PR-9 by @tuanbipa.
Description of the Change
The changes focus on introducing modern secure storage practices in Android by using
EncryptedSharedPreferences
for Android 6.0 (Marshmallow) and above, while maintaining compatibility with older Android versions via theKeyStore
system. The solution includes automatic data migration, ensuring a seamless transition without data loss.Change List
1. Support for
EncryptedSharedPreferences
EncryptedSharedPreferences
for secure data storage on Android 6.0+.SharedPreferences
toEncryptedSharedPreferences
.2. Backward Compatibility for Android < 6.0
KeyStore
system for data encryption and decryption on older Android versions.3. Introduction of
migrationDone
Flag4. Helper Method
isAndroidMOrHigher
EncryptedSharedPreferences
can be used.5. Refactored
getPrefs
MethodEncryptedSharedPreferences
for Android 6.0+.SharedPreferences
toEncryptedSharedPreferences
.SharedPreferences
for Android versions below 6.0.