aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/util/settings/Migrations.kt11
-rw-r--r--app/src/test/java/dev/msfjarvis/aps/util/settings/MigrationsTest.kt28
2 files changed, 39 insertions, 0 deletions
diff --git a/app/src/main/java/dev/msfjarvis/aps/util/settings/Migrations.kt b/app/src/main/java/dev/msfjarvis/aps/util/settings/Migrations.kt
index c001091d..5d61e75b 100644
--- a/app/src/main/java/dev/msfjarvis/aps/util/settings/Migrations.kt
+++ b/app/src/main/java/dev/msfjarvis/aps/util/settings/Migrations.kt
@@ -25,6 +25,7 @@ fun runMigrations(filesDirPath: String, sharedPrefs: SharedPreferences, gitSetti
migrateToHideAll(sharedPrefs)
migrateToSshKey(filesDirPath, sharedPrefs)
migrateToClipboardHistory(sharedPrefs)
+ migrateToDiceware(sharedPrefs)
}
private fun migrateToGitUrlBasedConfig(sharedPrefs: SharedPreferences, gitSettings: GitSettings) {
@@ -121,3 +122,13 @@ private fun migrateToClipboardHistory(sharedPrefs: SharedPreferences) {
}
}
}
+
+private fun migrateToDiceware(sharedPrefs: SharedPreferences) {
+ if (sharedPrefs.contains(PreferenceKeys.PREF_KEY_PWGEN_TYPE)) {
+ sharedPrefs.edit {
+ if (sharedPrefs.getString(PreferenceKeys.PREF_KEY_PWGEN_TYPE) == "xkpasswd") {
+ putString(PreferenceKeys.PREF_KEY_PWGEN_TYPE, "diceware")
+ }
+ }
+ }
+}
diff --git a/app/src/test/java/dev/msfjarvis/aps/util/settings/MigrationsTest.kt b/app/src/test/java/dev/msfjarvis/aps/util/settings/MigrationsTest.kt
index c37eb626..d279ab03 100644
--- a/app/src/test/java/dev/msfjarvis/aps/util/settings/MigrationsTest.kt
+++ b/app/src/test/java/dev/msfjarvis/aps/util/settings/MigrationsTest.kt
@@ -155,4 +155,32 @@ class MigrationsTest {
assertEquals(true, sharedPrefs.getBoolean(PreferenceKeys.CLEAR_CLIPBOARD_HISTORY, false))
assertFalse(sharedPrefs.contains(PreferenceKeys.CLEAR_CLIPBOARD_20X))
}
+
+ @Test
+ fun verifyClassicPasswordGeneratorMigration() {
+ sharedPrefs.edit {
+ clear()
+ putString(PreferenceKeys.PREF_KEY_PWGEN_TYPE, "classic")
+ }
+ runMigrations(
+ filesDir,
+ sharedPrefs,
+ GitSettings(sharedPrefs, encryptedSharedPreferences, proxySharedPreferences, filesDir),
+ )
+ assertEquals("classic", sharedPrefs.getString(PreferenceKeys.PREF_KEY_PWGEN_TYPE))
+ }
+
+ @Test
+ fun verifyXkPasswdPasswordGeneratorMigration() {
+ sharedPrefs.edit {
+ clear()
+ putString(PreferenceKeys.PREF_KEY_PWGEN_TYPE, "xkpasswd")
+ }
+ runMigrations(
+ filesDir,
+ sharedPrefs,
+ GitSettings(sharedPrefs, encryptedSharedPreferences, proxySharedPreferences, filesDir),
+ )
+ assertEquals("diceware", sharedPrefs.getString(PreferenceKeys.PREF_KEY_PWGEN_TYPE))
+ }
}