mirror of
https://github.com/bitwarden/android.git
synced 2025-03-15 10:48:47 +03:00
Persist VaultTimeoutAction as a String (#583)
This commit is contained in:
parent
3f7fe90c5c
commit
e6c20e0e88
3 changed files with 12 additions and 14 deletions
|
@ -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,
|
||||
)
|
||||
|
|
|
@ -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"),
|
||||
}
|
||||
|
|
|
@ -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))
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue