diff --git a/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/disk/SettingsDiskSourceImpl.kt b/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/disk/SettingsDiskSourceImpl.kt index d4bb883857..c2e02e3ed0 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/disk/SettingsDiskSourceImpl.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/disk/SettingsDiskSourceImpl.kt @@ -43,7 +43,7 @@ class SettingsDiskSourceImpl( } override fun getVaultTimeoutAction(userId: String): VaultTimeoutAction? = - getInt(key = "${VAULT_TIMEOUT_ACTION_KEY}_$userId")?.let { storedValue -> + getString(key = "${VAULT_TIMEOUT_ACTION_KEY}_$userId")?.let { storedValue -> VaultTimeoutAction.entries.firstOrNull { storedValue == it.value } } @@ -55,7 +55,7 @@ class SettingsDiskSourceImpl( userId: String, vaultTimeoutAction: VaultTimeoutAction?, ) { - putInt( + putString( key = "${VAULT_TIMEOUT_ACTION_KEY}_$userId", value = vaultTimeoutAction?.value, ) diff --git a/app/src/main/java/com/x8bit/bitwarden/data/platform/repository/model/VaultTimeoutAction.kt b/app/src/main/java/com/x8bit/bitwarden/data/platform/repository/model/VaultTimeoutAction.kt index 91cbed8e1c..5bd20a5372 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/platform/repository/model/VaultTimeoutAction.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/platform/repository/model/VaultTimeoutAction.kt @@ -6,15 +6,15 @@ package com.x8bit.bitwarden.data.platform.repository.model * The [value] is used for consistent storage purposes. */ enum class VaultTimeoutAction( - val value: Int, + val value: String, ) { /** * The vault should lock when it times out. */ - LOCK(0), + LOCK("0"), /** * The user should be logged out when their vault times out. */ - LOGOUT(1), + LOGOUT("1"), } diff --git a/app/src/test/java/com/x8bit/bitwarden/data/platform/datasource/disk/SettingsDiskSourceTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/platform/datasource/disk/SettingsDiskSourceTest.kt index 0ee632a927..5de47ca20e 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/platform/datasource/disk/SettingsDiskSourceTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/platform/datasource/disk/SettingsDiskSourceTest.kt @@ -104,9 +104,9 @@ class SettingsDiskSourceTest { val vaultTimeoutAction = VaultTimeoutAction.LOCK fakeSharedPreferences .edit() - .putInt( + .putString( "${vaultTimeoutActionBaseKey}_$mockUserId", - vaultTimeoutAction.value, + "0", ) .apply() val actual = settingsDiskSource.getVaultTimeoutAction(userId = mockUserId) @@ -149,12 +149,12 @@ class SettingsDiskSourceTest { userId = mockUserId, vaultTimeoutAction = vaultTimeoutAction, ) - val actual = fakeSharedPreferences.getInt( + val actual = fakeSharedPreferences.getString( "${vaultTimeoutActionBaseKey}_$mockUserId", - 0, + null, ) assertEquals( - vaultTimeoutAction.value, + "0", actual, ) } @@ -163,16 +163,14 @@ class SettingsDiskSourceTest { fun `storeVaultTimeoutAction for null values should clear SharedPreferences`() { val vaultTimeoutActionBaseKey = "bwPreferencesStorage:vaultTimeoutAction" val mockUserId = "mockUserId" - val previousValue = VaultTimeoutAction.LOCK val vaultTimeoutActionKey = "${vaultTimeoutActionBaseKey}_$mockUserId" fakeSharedPreferences.edit { - putInt(vaultTimeoutActionKey, previousValue.value) + putString(vaultTimeoutActionKey, "0") } - assertTrue(fakeSharedPreferences.contains(vaultTimeoutActionKey)) settingsDiskSource.storeVaultTimeoutAction( userId = mockUserId, vaultTimeoutAction = null, ) - assertFalse(fakeSharedPreferences.contains(vaultTimeoutActionKey)) + assertNull(fakeSharedPreferences.getString(vaultTimeoutActionKey, null)) } }