From 9382c3a3a6ccce63bafe01dc07cb42a7aa650d7a Mon Sep 17 00:00:00 2001 From: David Perez Date: Fri, 26 Apr 2024 10:51:19 -0500 Subject: [PATCH] BIT-2296: Fix generator options disk source key (#1310) --- .../disk/GeneratorDiskSourceImpl.kt | 29 +++++++------------ .../disk/GeneratorDiskSourceTest.kt | 8 ++--- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/x8bit/bitwarden/data/tools/generator/datasource/disk/GeneratorDiskSourceImpl.kt b/app/src/main/java/com/x8bit/bitwarden/data/tools/generator/datasource/disk/GeneratorDiskSourceImpl.kt index fb93b0253c..bbb582fe9a 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/tools/generator/datasource/disk/GeneratorDiskSourceImpl.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/tools/generator/datasource/disk/GeneratorDiskSourceImpl.kt @@ -25,38 +25,31 @@ class GeneratorDiskSourceImpl( storeUsernameGenerationOptions(userId = userId, options = null) } - override fun getPasscodeGenerationOptions(userId: String): PasscodeGenerationOptions? { - val key = getPasswordGenerationOptionsKey(userId) - return getString(key)?.let { json.decodeFromStringOrNull(it) } - } + override fun getPasscodeGenerationOptions(userId: String): PasscodeGenerationOptions? = + getString("${BASE_KEY}:${PASSWORD_GENERATION_OPTIONS_KEY}_$userId") + ?.let { json.decodeFromStringOrNull(it) } override fun storePasscodeGenerationOptions( userId: String, options: PasscodeGenerationOptions?, ) { - val key = getPasswordGenerationOptionsKey(userId) putString( - key, + "${BASE_KEY}:${PASSWORD_GENERATION_OPTIONS_KEY}_$userId", options?.let { json.encodeToString(options) }, ) } - private fun getPasswordGenerationOptionsKey(userId: String): String = - "${BASE_KEY}_${PASSWORD_GENERATION_OPTIONS_KEY}_$userId" - - override fun getUsernameGenerationOptions(userId: String): UsernameGenerationOptions? { - val key = getUsernameGenerationOptionsKey(userId) - return getString(key)?.let { json.decodeFromStringOrNull(it) } - } + override fun getUsernameGenerationOptions(userId: String): UsernameGenerationOptions? = + getString("${BASE_KEY}:${USERNAME_GENERATION_OPTIONS_KEY}_$userId") + ?.let { json.decodeFromStringOrNull(it) } override fun storeUsernameGenerationOptions( userId: String, options: UsernameGenerationOptions?, ) { - val key = getUsernameGenerationOptionsKey(userId) - putString(key, options?.let { json.encodeToString(it) }) + putString( + "${BASE_KEY}:${USERNAME_GENERATION_OPTIONS_KEY}_$userId", + options?.let { json.encodeToString(it) }, + ) } - - private fun getUsernameGenerationOptionsKey(userId: String): String = - "${BASE_KEY}_${USERNAME_GENERATION_OPTIONS_KEY}_$userId" } diff --git a/app/src/test/java/com/x8bit/bitwarden/data/tools/generator/datasource/disk/GeneratorDiskSourceTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/tools/generator/datasource/disk/GeneratorDiskSourceTest.kt index 660a15ed20..c7727b8ed4 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/tools/generator/datasource/disk/GeneratorDiskSourceTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/tools/generator/datasource/disk/GeneratorDiskSourceTest.kt @@ -99,7 +99,7 @@ class GeneratorDiskSourceTest { numWords = 3, ) - val key = "bwPreferencesStorage_passwordGenerationOptions_$userId" + val key = "bwPreferencesStorage:passwordGenerationOptions_$userId" fakeSharedPreferences.edit { putString(key, json.encodeToString(options)) } val result = generatorDiskSource.getPasscodeGenerationOptions(userId) @@ -136,7 +136,7 @@ class GeneratorDiskSourceTest { numWords = 3, ) - val key = "bwPreferencesStorage_passwordGenerationOptions_$userId" + val key = "bwPreferencesStorage:passwordGenerationOptions_$userId" generatorDiskSource.storePasscodeGenerationOptions(userId, options) @@ -166,7 +166,7 @@ class GeneratorDiskSourceTest { emailWebsite = "email.example.com", ) - val key = "bwPreferencesStorage_usernameGenerationOptions_$userId" + val key = "bwPreferencesStorage:usernameGenerationOptions_$userId" fakeSharedPreferences.edit { putString(key, json.encodeToString(options)) } val result = generatorDiskSource.getUsernameGenerationOptions(userId) @@ -204,7 +204,7 @@ class GeneratorDiskSourceTest { emailWebsite = "email.example.com", ) - val key = "bwPreferencesStorage_usernameGenerationOptions_$userId" + val key = "bwPreferencesStorage:usernameGenerationOptions_$userId" generatorDiskSource.storeUsernameGenerationOptions(userId, options)